Stop Emails

March 29, 2024

Stop Emails Plugin

Stop all outgoing emails sent from WordPress.

Stops outgoing emails sent from WordPress. This plugin stops
outgoing emails generated by WordPress core, plugins, and themes.
Emails sent using the wp_mail() function, will not be sent.
In the case where an author does not use the recommended wp_mail()
function and instead sends the email using another mechanism, an email will
still be sent.

This plugin allows you to suspend sending emails when doing development work.
Any calls to wp_mail() will fail silently. WordPress
will operate as if the email were sent successfully
but no email will actually be sent.

On the admin menu page Settings > Stop Emails, there is the option
to log all emails to the PHP error log. By default this logging is
disabled.

NOTE: If using the PHP mail() function directly, this
plugin will NOT stop the emails.

Built by Sal Ferrarello / @salcode

Installation

  1. Install plugin from WordPress plugin repository https://wordpress.org/plugins/
  2. Activate Stop Emails through the ‘Plugins’ menu in WordPress.

Manual Installation

  1. Upload the entire stop-emails directory to the /wp-content/plugins/ directory.
  2. Activate Stop Emails through the ‘Plugins’ menu in WordPress.

mu-plugin Installation

  1. If the directory wp-content/mu-plugins/ does not exist, create it.
  2. Upload the single file stop-emails.php to the wp-content/mu-plugins/ directory

Screenshots

  1. When the plugin is running, there will be a warning on the backend of the website.

    When the plugin is running, there will be a warning on the backend of the website.

  2. Lies! The email wasn't really sent, we're running Stop Emails

    Lies! The email wasn't really sent, we're running Stop Emails

FAQ

Where do the emails go?

The emails are lost forever.

Why are some of my emails still being sent?

Most likely, this is due to a plugin you have running.
There are two different things the plugin could be
doing to cause emails to still be sent.

  1. The plugin is overriding our overriding of the sending mechanism.
  2. The plugin is calling the PHP function mail() directly.

Unfortunately in either of these cases, this plugin will not be able to stop
the email.

Known Incompatible Plugins?

A list of Known Incompatible Plugins is available at https://github.com/salcode/stop-emails/wiki/Known-Incompatible-Plugins.

I want to log the emails that are stopped

You can enable logging of stopped emails on the
admin menu page Settings > Stop Emails.

Emails will be logged to your PHP error log.

Why would I want install in the mu-plugins directory?

Activating a plugin normally requires logging into the site.
Installing the file in the mu-plugins directory allows you to
activate the plugin without logging in. This can be
helpful when setting up an existing site locally.

Where can I report a bug?

Please report bugs at https://github.com/salcode/stop-emails/issues

Changelog

1.2.1

  • Conditionally modify how our fake PHPMailer extends the real PHPMailer class based on changes in PHPMailer introduced in WordPress core 5.5. This eliminates the message “PHP Deprecated: class-phpmailer.php is deprecated since version 5.5.0!” in the error logs.

1.2.0

  • Add filter to force BuddyPress to use wp_mail() rather than its own BP_PHPMailer class

1.1.0

  • Add Italian translation (it_IT), thanks to Andrea Gherardi https://twitter.com/ilghera_TP

1.0.1

  • No changes to code functionality
  • “Tested Up To:” version bump to 4.2
  • Update to readme.txt to more clearly communicate plugin functionality
  • Version bump to 1.0.1

0.8.0

  • Overhaul of plugin includes: fixing issue with plugin not stopping emails, moving to a class structure, changing email stopping
    behavior to use the same technique as WordPress core tests, improved inline documentation,
    addtion of phpunit tests. Introduces a breaking change with https://github.com/salcode/stop-emails-logger

0.7.1

  • Added check for supporting files before loading them. Since the primary functionality
    is in stop-emails.php, adding this check allows stop-emails.php to be used in the
    mu-plugins/ directory (previously, it would throw warnings)

0.7.0

  • Added filter fe_stop_emails_log to allow other logging of blocked emails

0.6.2

  • “Tested Up To:” version bump to 4.0
  • Add plugin icons

0.6.1

  • “Tested Up To:” version bump to 3.9
  • Add Settings link to plugin page

0.6.0

  • Add admin settings page with option to enable logging of stopped emails to
    PHP error log

0.5.0

  • Correct breaking change

0.4.0

  • Add Spanish translation (es_ES), thanks to Andrew Kurtis from webhostinghub.com

0.3.0

  • Added support for localization

0.2.0

  • Added filter fe_stop_emails_log_email for $log_email value, which allows a programmer to add code to
    log the blocked emails in the php_error.log
  • Renamed functions and classes to follow WordPress standards

0.1.0

  • First release

Details

  • Version: 1.2.1
  • Active installations: 5,000
  • WordPress Version: 3.6
  • Tested up to: 6.5.5

Ratings


5 Stars
4 Stars
3 Stars
2 Stars
1 Stars