Disable Emails

Description

Stop a WordPress website from sending any emails using the standard wp_mail() function. No emails will be sent, not even for password resets or administrator notifications.

WordPress websites can send emails for a variety of reasons — e.g user registration, password reset, enquiry form submission, e-commerce purchase — but sometimes you don’t want it to send anything at all. Some reasons for disabling all emails:

  • demonstration websites that allow users to do things that normally send emails
  • development / test websites with live data that might email real customers
  • bulk-loading data into websites which might trigger emails
  • adding new sites into multisite installations

NB: if you need to run this plugin on WordPress 5.4 or earlier, and must install manually from a .zip file, please install version 1.6.3 which you can download from the Advanced page for the plugin. Since version 1.7.0, WordPress 5.5 or later is required.

Translations

Many thanks to the generous efforts of our translators:

If you’d like to help out by translating this plugin, please sign up for an account and dig in.

Installation

  1. Either install automatically through the WordPress admin, or download the .zip file, unzip to a folder, and upload the folder to your /wp-content/plugins/ directory. Read Installing Plugins in the WordPress Codex for details.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Optional: from the WordPress admin, navigate to Settings > Disable Emails and click the “Activate must-use plugin” if you want the plugin to always be activated, no matter what.

FAQ

Why am I still getting standard WordPress emails?

You probably have another plugin that adds its own implementation of the wp_mail() function. Try disabling some plugins.

In some circumstances, enabling the must-use plugin from settings will fix this, because must-use plugins load before other plugins.

Standard WordPress emails have stopped, but some others still get sent

You probably have a plugin that is sending emails via some other method, like directly using the PHP mail() function, or directly implementing an SMTP client. Not much I can do about that…

How does it work?

The plugin replaces the standard WordPress wp_mail() function with a function that sends no emails. Nada. Zip. Silence.

Behind the scenes, it creates a private copy of PHPMailer and allows the system to interact with it, but silently suppresses the functions that send emails. The standard WordPress filter and action hooks are supported, so plugins that register hooks for those will still function as normal. It just doesn’t actually send any emails.

Can I make it a must-use plugin?

Yes. Once you have activated the plugin, navigate to Settings > Disable Emails and click the “Activate must-use plugin”. This will create a must-use plugin (mu-plugin) that ensures that Disable Emails is always loaded. This can be especially useful on development websites where the database is frequently refreshed from a live site which does not have Disable Emails activated.

NB: if you activate the must-use plugin on a multisite, it will stop emails on all sites on the multisite! If you have multiple networks on your multisite, the must-use plugin will stop emails on all networks.

Contributions

Reviews

December 1, 2023
This plugin helps a lot when you need to test or import and need to disable email sending.
November 20, 2023
We needed to make sure that automatic emails do not go out to customers from a staging site. In conjunction with an mail logging plugin, you can still see which emails would have gone out, so also great for troubleshooting email processes. Install, activate, done. Thank you!
November 13, 2022
I've been using this Plugin a lot lately and it does a great job while also being ridiculous easy.
June 14, 2022
Great plugin that we use on our staging sites. Some sites use a pre-order plugi for WooCommerce, sending out mails when particular launch date is there. Of course, we don't want the staging site to sent out mails. That's a no go.
Read all 18 reviews

Contributors & Developers

“Disable Emails” is open source software. The following people have contributed to this plugin.

Contributors

“Disable Emails” has been translated into 13 locales. Thank you to the translators for their contributions.

Translate “Disable Emails” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

The full changelog can be found on GitHub. Recent entries:

1.8.2

Released 2023-11-22

  • fixed: deprecation warnings in PHP 8.1+