This plugin hasn’t been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

SMTP Mailing Queue

Description

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.

Tools:

  • You can send test mails to test your setup.
  • You can process the mailing queue manually instead of waiting for cronjob.

Supervisors:
* You can display basic informations about mail processing performances
* 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.
* You can display the sent mails and delete them.

Coming soon:

  • 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.

Screenshots

  • SMTP Setting
  • Advanced Settings
  • Tools
  • Supervisors

Installation

  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

SMTP

Enter the SMTP credentials you got from your mail provider.

Common mail providers:

gmail

  • Host: smtp.gmail.com
  • Port: 465
  • Encryption: ssl
  • Use authentication: yes
  • Username: your full email address

yahoo

  • Host: smtp.mail.yahoo.com
  • Port: 465
  • Encryption: ssl
  • Use authentication: yes
  • Username: your full email address

office365

  • Host: smtp.office365.com
  • 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.

Advanced

  • 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 http://www.example.org?smqProcessQueue&key=MySecretKey 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

Additional

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/.

Usage

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

Tools:

  • 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.

Supervisors:

  • Processing: Get basic informations about your current processing capacity how much it is used.
  • 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”).
  • List Sent: Show all mails sent. You can purge this list. As mails are not encrypted, it is recommended to use this option mostly for debug/analysis purposes.

FAQ

Can this plugin be used to send emails via SMTP?

Yes.

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, here are the donation links of top contributors :
Hildende : Founder
Birmania : Maintainer

Reviews

October 30, 2022
I tried other similar queue plugins, and I saw that this is only stabil working plugin. As a recommendation and a requirement that I feel, I suggest that the plugin should have a mail filter options. For example, an email with the headings "xxxxxxx" should not be taken in queue if the administrator see it an urgent email for example registration or forgotten password email. If you accomplish to add such a filter to this plugin, it will be perfect.
September 14, 2021 1 reply
We intend to use this plugin with a site that receives 2000 form submissions (petitions) that are sent to Australian politicians. The idea was is that we do not send this 2,000 emails in a day, but rather that we throttle 10 every hour or so to avoid flooding the recipients inbox. So far with our tests, this plugin helps us to do that. There are a lot of options so try different things until you get it working the way you intend to. The developer is very responsive and a really nice guy based on how nice he is to respond to anyone who has issues. Thank you for your efforts creating this plugin!
April 29, 2020 1 reply
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.
April 17, 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.
April 29, 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!
Read all 18 reviews

Contributors & Developers

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

Contributors

“SMTP Mailing Queue” has been translated into 1 locale. Thank you to the translators for their contributions.

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

2.0.1

  • Security : Escape some values display to avoid XSS in Admin “Tools” and “Supervisors” tabs

2.0.0

  • Bugfix : ‘wp_mail’ filters are now immediately executed on call instead of being delayed to real email sending
  • Bugfix : Removed an error that could occurs on ‘localhost’ development environent using custom value for From/Email in options
  • Bugfix : Fixed a deprecated on optional ‘pluginFile’ field in SMTPMailingQueue constructor
  • Bugfix : Strip WordPress magic quotes on test email form
  • Bugfix : Better email headers formatting in supervisor tables

1.4.7

  • Bugfix : In SMTP Settings, “From Email” and “From Name” are now used as soon as they are not empty, even if “Host value” is empty
  • Bugfix : Schedule “smq_sanity_checks” on every plugin construct to avoid missing cronjob

1.4.6

  • Bugfix : Fix a member call on ‘null’ when using the plugin from WP-CLI (Thanks @cvl01)

1.4.5

  • Feature : Add PHPMailer error detail message in notice while using tool to send immediate test mail

1.4.4

  • Bugfix : Enable sanity check on plugin update

1.4.3

  • Feature : Added sanity check to ensure that smq_start_queue is properly requeued
  • Feature : Move processing queue error from global admin to associated supervisor page

1.4.2

  • Feature: Added capacity to store, list and purge sent mails
  • Feature: Display basic informations about processing (max. time it take per run) to help adjust queue limit
  • Feature: Mail lists are moved from “Tools” to a new tab called “Supervisors”
  • Bugfix: Mails processing through wp-cron now use a timetout linked to wp-cron configuration (WP_CRON_LOCK_TIMEOUT / 2)

1.4.1

  • Feature: Display admin notice if error occured while calling queue processing

1.4.0

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

1.3.1

  • 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

1.3.0

  • 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

1.2.2

  • Bugfix: Fixed bug when sending delayed mail

1.2.1

  • Bugfix: Fixed intermittent failure with plugin version upgrade

1.2.0

  • 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

1.1.1

  • 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.

1.1.0

  • 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.

1.0.6

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

1.0.5

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

1.0.4

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

1.0.3

  • 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)

1.0.2

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

1.0.1

  • Bugfix: timeout at slow SMTP servers

1.0.0

  • First commit of the plugin