ActiveCampaign / postmark-wordpress

The Official Postmark Wordpress Plugin
GNU General Public License v2.0
17 stars 17 forks source link

Disable REST API email sending programatically #6

Closed pderksen closed 8 years ago

pderksen commented 8 years ago

Is there a way to disable sending emails via the REST API through code?

In my case, when I make a snapshot of my live site to staging (in this case WP Engine), I can then detect I'm on a staging URL, and send automated emails through the site to a test SMTP server (in this case mailtrap.io).

If I forget this then user accounts on my site will start to get automated emails through the staging site (purchase renewal reminders, etc).

If there was simply a way to disable sending emails with this plugin (like unchecking the "Enable" checkbox in the settings does) without having to deactivate the entire plugin that would be ideal.

Thanks!

mgibbs189 commented 8 years ago

Hi @pderksen

Not currently, but we could probably add a filter to this line.

Before:

if ( 1 == $postmark->settings['enabled'] ) {

After:

$enabled = (bool) $postmark->settings['enabled'];
if ( apply_filters( 'postmark_enabled', $enabled ) ) {

Usage:

add_filter( 'postmark_enabled', '__return_true' );
mgibbs189 commented 8 years ago

@atheken see #7

pderksen commented 8 years ago

@mgibbs189 That should do it. Pretty straight-forward. Thanks!

atheken commented 8 years ago

Thanks @mgibbs189! I merged it to master.

@pderksen Feel free to grab the latest from master, or you might also use our "testing" key for sending from staging, POSTMARK_API_TEST, as outlined here: http://developer.postmarkapp.com/developer-send-api.html

pderksen commented 8 years ago

@atheken Also would be useful in my case. See follow-up #10. Thanks!