SMTP Mailing Queue


This plugin adds emails to a mailing queue instead of sending immediately. This speeds up sending forms for the website visitor and lowers the server load.
Emails are stored as files which are deleted after emails are sent.

You can send all outgoing emails via an SMTP server or (the WordPress standard) PHP function mail, and either use wp_cron or a cronjob (if your server/hoster supports this) to process the queue.

Plugin requires PHP 5.4 or above.


  • You can send test mails to test your setup.
  • You can process the mailing queue manually instead of waiting for cronjob.
  • You can display the mailing queue in the backend to see emails that will be sent with next processing.
  • You can display the invalid mails and delete or retry them.

Coming soon:

  • Logging of mails and errors.
  • Archive of sent mail.
  • Storing mailing data in database instead of files.
  • Using plugin for SMTP mails without using mailing queue.

Feel free to suggest features or send feedback in the support section, via email or by creating a pull request on github.


  • SMTP Setting
  • Advanced Settings
  • Tools


  1. Upload the files to the /wp-content/plugins/smtp-mailing-queue/ directory
  2. Activate the \”SMTP Mailing Queue\” plugin through the \”Plugins\” admin page in WordPress
  3. Go to \”SMTP Mailing Queue\” settings page in WordPress admin settings section (you can simply click the \”Settings\” link for this plugin in the \”Plugin\” page


Enter the SMTP credentials you got from your mail provider.

Common mail providers:


  • Host:
  • Port: 465
  • Encryption: ssl
  • Use authentication: yes
  • Username: your full email address


  • Host:
  • Port: 465
  • Encryption: ssl
  • Use authentication: yes
  • Username: your full email address


  • Host:
  • Port: 587
  • Encryption: tls
  • Use authentication: yes
  • Username: your full email address

If you have another mail provider you will most likely get the SMTP settings on their website or by asking them.


  • queue limit: Set the amount of mails sent per cronjob processing
  • secret key: Set a key needed to start queue manually or via cronjob
  • don’t use wp_cron: Use a real cronjob instead of wp_cron.
    Call in cronjob to start processing queue.
  • wp_cron interval: Choose how often wp_cron is started (in seconds)
  • minimum recipients: Mail sending will be delayed (through queue) only if recipients number is higher than this value
  • maximum retry: Mail sending will be retried until it reach this amount of failure


For apache a .htaccess file with deny from all is generated in mail storage dir.
For all systems that cannot read .htaccess you should deny access to wp-content/uploads/smtp-mailing-queue/.


After activation mails automatically queue to be processed by wp_cron or cronjob. SMTP will be used if settings set up.


  • Test Mail: Test your email settings by sendig directly or adding test mail into queue.
  • Process Queue: Start queue processing manually. Your set queue limit will still be obeyed, if set.
  • List Queue: Show all mails in mailing queue.
  • List Invalid: Show all mails in failed state. You can purge this list or retry some mails (retry : bring back failure count to 0 and mail moved to “List Queue”).


Can this plugin be used to send emails via SMTP?


Do I have to use SMTP?

No (just leave SMTP settings empty)

Can anyone read the mails in a browser

Not if you followed the advanced installation.

Can I just use the SMTP function and sent immediatly without queuing?

Not at the moment, but this will be added in a future release.

I like this plugin. Can I buy you a beer?

Sure, just head over here


29 April 2020
I used this plugin to queue mails from newsletter plugin. In 'List Queue' tab all mails looked fine but when send all recipients received raw HTML code instead.
17 April 2019
I can't believe more people don't use it. We've been using it for years and it speeds up the woocommerce order process by removing the delay while woocommerce is sending the confirmation emails. There's plenty of other plugins that handle sending SMTP mail but none of them seem to queue and that's the real saver. Such a simple plugin I can not recommend it enough.
29 April 2018
For anyone using Office 365 as their mailprovider, this plugin is as must-have! Works great, easy to configure and will improve usability of your site significantly since Office 365 mailserver is terribly slow.. Of course it will help with any mailprovider since there is no delay in sending e-mails anymore. Defintely 5 stars for me!
24 February 2018
Great plugin. Form submission is done almost instantly and mass mailing became a breeze. I've registered on just to rate it.
Read all 17 reviews

Contributors and Developers

“SMTP Mailing Queue” is open source software. The following people have contributed to this plugin.


Translate “SMTP Mailing Queue” into your language.

Interested in development?

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

Change Log


  • Feature: Compatibility with WP version >=5.5 (new PHPMailer)


  • Bugfix: Fixed bug on randomly lost emails when requests are too close to each others (Thanks @manandre)
  • Bugfix: Remove some notices and warning on first plugin activation


  • Feature: Added capability to purge all invalid mails (Button available at Invalid List tab)
  • Feature: Added bulk actions on invalid mails (retry, delete)
  • Bugfix: Fixed bug on attachment deletion


  • Bugfix: Fixed bug when sending delayed mail


  • Bugfix: Fixed intermittent failure with plugin version upgrade


  • Bugfix: Fixed deprecated methods ‘mcrypt_get_iv_size’, ‘mcrypt_create_iv’, ‘mcrypt_encrypt’

  • Bugfix: Fixed call to non-static method ‘SMTPMailingQueueAttachments::storeAttachments’

  • Bugfix: Fixed undefined index ‘dont_wait’ when sending test mail


  • Feature: Added advanced option to retry mail sending X time before declare invalid.

  • Feature: Added French translation.

  • Bugfix: Attachments are no longer lost on mail sending.


  • Feature: Made plugin translatable.

  • Feature: Added German translation.

  • Bugfix: Fixed cron requests on IDN hosts (Thanks to epoxa for this fix)

  • Bugfix: Fixed bug that caused plugin to ignore smtp settings in some cases.

  • Bugfix: Fixed php5.3 incompatibility message.


  • Bugfix: Emails that couldn’t be sent now really don’t stop the queue anymore.


  • Feature/Bugfix: Added tools section for emails that couldn’t be sent. Those emails will no longer stop the entire queue.


  • Feature: Added advanced option to only queue mails if more than one recipient is set.


  • Feature: Added warning on install if PHP version <5.4

  • Bugfix: Use of WordPress URL instead of host name (Thanks to mgoncharenko for this fix)


  • Bugfix: PHP warning for empty headers in list tool
  • Bugfix: Wrong SMTP password stored at first save


  • Bugfix: timeout at slow SMTP servers


  • First commit of the plugin