GD Mail Queue


The plugin adds a mail queue system that can intercept all the emails sent through the wp_mail function, and depending on the predefined rules (number of recipients) sent the email into the queue, with each recipient getting own email. On top of that, the plugin can process all plain text emails and wrap them in the HTML, and send them as HTML, with options to customize the template and various other aspects.

How the plugin works

The main part of the plugin, called ‘Mailer’ controls the process.

  • Intercept every wp_mail call
  • If needed, wrap email in HTML
  • Determine the number of recipients
  • If eligible, add each recipient email into the queue

Process of turning plain text into HTML emails, support all emails sent through wp_mail, even if they don’t end in the queue. This can turn all WordPress system emails (registration, password reset…) into HTML emails. You can:

  • Choose between predefined HTML templates
  • Add your custom HTML template
  • Define your custom header and footer for emails

Queue works through the CRON, as a background job, and you can configure how many emails to send in a batch, with the timeout setting to prevent PHP timeout breaking the sending process.

Email Sending

Emails are sent using PHPMailer built into WordPress. But, the plugin has additional options to control the queue sending process and the wp_mail sending process.

  • Email sending engine based on PHPMailer class
  • PHPMailer options to use SMTP for sending emails
  • Customize email From for all emails passed through wp_mail
  • Customize email From, Reply and Sender for all emails sent through the queue

Email Logging

The plugin includes an advanced email log.

  • Custom database tables to store logs, made for performance
  • Store all relevant data for each email, including a list of attachments
  • Email log panel with filters for logged emails
  • Preview popup displaying all logged email details
  • Preview popup shows the full HTML email part preview
  • Retry sending any failed emails through the queue

Other plugin features

  • Options to pause wp_mail and queue operations
  • Dashboard: an overview of the queue (including the last run) statistics
  • Dashboard: an overview of the overall mailer statistics
  • Dashboard: additional boxes with various other information
  • Automatic cleanup of all successfully sent and/or failed emails
  • Logging of the errors for each email send through the queue
  • Developers friendly with various actions and filters for extra control
  • Support for intercepting bbPress subscription notifications emails
  • Support for the BuddyPress mail system
  • Option to set BuddyPress to use WordPress wp_mail() function
  • Track email types from emails sent by WordPress, bbPress and more
  • Tools to test sending of emails and adding to the queue

Upgrade to GD Mail Queue Pro

Pro version contains many more great features:

  • REST API based email sending engines
  • REST API Engine: SendGrid
  • REST API Engine: Amazon Web Services SES (through free addon)
  • REST API Engine: Gmail (through free addon)
  • REST API Engine: Mailgun (through free addon)
  • REST API Engine: Mailjet (through free addon)
  • REST API Engine: SendInBlue (through free addon)
  • PHPMailer third-party SMTP services support
  • PHPMailer SMTP Service: Amazon Web Services SES
  • PHPMailer SMTP Service: Mailgun
  • PHPMailer SMTP Service: Mailjet
  • PHPMailer SMTP Service: Mandrill
  • PHPMailer SMTP Service: PostMark
  • PHPMailer SMTP Service: PepiPost
  • PHPMailer SMTP Service: SendGrid
  • PHPMailer SMTP Service: SendInBlue
  • PHPMailer SMTP Service: SendPulse
  • PHPMailer SMTP Service: SparkPost
  • Panel to show everything currently in Queue
  • Email Notifications with daily and weekly statistics
  • Email Notifications with daily and weekly errors logged
  • Safe staging support with email redirection
  • HTMLfy support for uploading logos
  • Improved dashboard with various control buttons
  • Improved log with the email role-based filtering
  • Tool to preview HTML template

With more features on the roadmap exclusively for Pro version.

More Information and Support


  • The plugin only works with default WordPress wp_mail function that uses PHPMailer object.
  • The plugin doesn’t replace wp_mail or PHPMailer and uses default function and class built into WordPress.
  • It is not advisable to use this plugin along with some other plugin that manipulates WordPress PHPMailer object.
  • Plugin doesn’t support plugins that are replacing wp_mail function (Sendgrid, WP Offload SES and similar).


  • Plugin Dashboard
  • Mail Log: Overview
  • Mail Log: Single Email basics
  • Mail Log: Single Email HTML
  • Email sending test tool
  • Email Example: Basic Template
  • Email Example: Basic Template with Header and Logo
  • Settings: Queue Controls
  • Settings: Mailer Controls


General Requirements

  • PHP: 7.0 or newer
  • mySQL: 5.1 or newer

PHP Notice

  • Plugin doesn’t work with PHP 5.6 or older versions.

WordPress Requirements

  • WordPress: 4.9 or newer

WordPress Notice

  • Plugin should work with WordPress 4.6 to 4.8 but these versions are no longer used for testing, and they are no longer supported.
  • Plugin doesn’t work with WordPress 4.5 or older versions.

Basic Installation

  • Plugin folder in the WordPress plugins folder must be gd-mail-queue.
  • Upload gd-mail-queue folder to the /wp-content/plugins/ directory.
  • Activate the plugin through the ‘Plugins’ menu in WordPress.


Does plugin works with WordPress MultiSite installations?

Yes. Each website can be set up to use the mail queue.

Where can I configure the plugin?

The plugin has own top-level item in the WordPress admin side menu: GD Mail Queue. This will open a panel with dashboard, settings and tools.

How can I use emails log?

When the plugin is installed, the email log is disabled. To enable it, open plugin Settings -> Log panel and enable it from there.

Does the plugin support BuddyPress?

Yes. If you use BuddyPress HTML emails feature, it will work as expected, and GD Mail Queue will handle these emails without turning them into HTML. You can also use an option in GD Mail Queue to force BuddyPress to send plain text emails and GD Mail Queue will turn them into HTML emails.

Does the plugin supports other SMTP sending plugins?

No. But, GD Mail Queue has support for SMTP email sending, and you can add your SMTP server information for plugin to use for all emails and/or queue emails. If you need to use REST API for email sending or you want to use predefined SMTP sending services through PHPMailer, GD Mail Queue Pro supports several popular email services using official REST API libraries and SMTP sending to.

Does the queue supports sending emails with attachments?

Yes. But, because the queue sends emails with the delay, the attachments must be available to send at any time. So, if the email sends temporary attachments that are removed by the sending function as soon as they are passed to wp_mail() function, queue will still be able to send email, but attachments will not be sent if they are missing in the moment of the queue sending.

Does the plugin supports REST API based sending plugins?

No. All plugins that send emails to various services using REST API or some other API to connect to services, are always replace wp_mail() function making it impossible for my plugin to detect emails and work with them. Also, GD Mail Queue can’t use third party plugins to send emails, because there is no universal interface for this that all plugins can implement and use.

Does this plugin replace wp_mail() function?

No. Most email sending plugins start by replacing wp_mail() function in WordPress making it hard for other plugins to do anything related to email sending. GD Mail Queue plugin doesn’t replace this function (or any other WordPress function), and it is relying on that core function to intercept and determine if the email should be turned in HTML or added to the queue.

Can I specify SMPT server for sending queue emails?

Yes. Settings for that are available on PHPMailer Settings panel once you switch Mode to Custom SMTP Server.

Can I add my own HTML templates?

Yes. To get more information on how to register additional templates, check out the knowledge base article: Additional HTML templates.

Can I translate the plugin to my language?

Yes. The POT file is provided as a base for translation. Translation files should go into languages directory.


I also only can confirm the ratings of my predecessors. GD Mail Queue is a wonderful plugin, which perfectly manages your email-queues and gives you full control over your mail tasks. Milan, thank you very much, for this cool plugin.
Great plugin. As a thank you, I translated it into Russian. Later I saw that the premium version has such a package. Let those who do not have the premium version use it
What a great plugin. Previous to using GD Mail Queue I've been so annoyed with about how long it took my website (which sends emails via SMTP using office365) to respond when someone placed an order. I tried sending SMTP via gmail as well, bit with either the 'submitting order' spinner would sit there for up to 20 seconds or so while WordPress was waiting for the email to send before it could then respond to the user. Now my site is so quick to respond. Instantly giving our customers the 'order received' message while this plugin then takes care of the SMTP stuff in the background. Much more professional and better for our customers. I've tried another mail queue plugin to do this but it is no longer supported and found a couple of messages jammed and not sending with no reason why. This plugin is easy to configure and test before giving it total control and the mail logs are brilliant. Thanks!
Full marks! I have been struggling with out-going emails exceeding my ISP-imposed limit and looked for a plugin to queue them. I was delighted to find this, as I have had very good experience of Dev4Press plugins. The quality of these plugins is excellent and Milan’s support exemplary. Some teething problems were resolved within 24 hours. It does exactly what I need and is working beautifully. Not only does it queue the emails but it has the tools to administer it and manage queues etc all the Dev4Press style. Thank you.
I was searching for something like that, to queue my forum emails, so my shared hosting doesn't complain. Everything i have tried so far, failed. Other plugins with queues, async smtp, i tried all, didn't behave well. Something was missing. It seems that this excellent plugin can be also used for my simple queueing all smtp email and send it in small configurable batches. I don't use any html changes and templates or multiple recipients. And the interface is just GREAT, wonderful. You must see it ! many thanks for the plugin
6 (az összes) vélemény olvasása

Közreműködők és fejlesztők

“GD Mail Queue” egy nyílt forráskódú szoftver. A bővítményhez a következő személyek járultak hozzá:


“GD Mail Queue” 1 nyelvre lett lefordítva. Köszönet a fordítóknak az áldozatos munkájukért!

“GD Mail Queue” fordítása a saját nyelvünkre.

Érdekeltek vagyunk a fejlesztésben?

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

Változási napló

3.7 – 2020.07.28

  • New: support for WordPress 5.5 and new PHPMailer class
  • New: use class alias to support new and old PHPMailer classes
  • Edit: various code quality improvements
  • Edit: removed some obsolete functions and code blocks
  • Edit: d4pLib 2.8.12
  • Fix: problem with function to normalize emails
  • Fix: cleanup functions not taking into account blog ID
  • Fix: few PHP strict mode warnings

3.6 – 2020.06.20

  • New: dashboard widget to show latest email sending errors
  • New: options to set sleep periods for batch and each email
  • New: queue function now has support for ‘from’ field
  • New: support for email types detection for Rank Math plugin
  • Edit: various improvements to queue test tool

3.5.1 – 2020.06.10

  • Edit: updated database schema due to the problem with column lengths
  • Fix: regression related to the cron job interval saving

3.5 – 2020.06.09

  • New: phpmailer smtp services listed on same settings page
  • New: support for email types detection for WP Members plugin
  • New: bulk retry option in the email log for failed emails
  • New: auto requeue locked emails not sent due to the server error
  • New: using SCSS file as a base for the CSS file
  • New: reorganized CSS and JS files
  • Edit: improved queue box on the plugin dashboard with more information
  • Edit: improved htmlfy main method with additional arguments
  • Edit: improved bulk operation messages and counts displayed
  • Edit: various improvements to the JavaScript
  • Edit: retried emails have new retry status
  • Edit: d4pLib 2.8.10

3.4.2 – 2020.04.07

  • New: tested with PHP 7.4
  • Edit: d4pLib 2.8.5
  • Fix: minor issue with with the PHP 7.4 deprecations

3.4.1 – 2019.11.02

  • Fix: email type detection related to the GD Topic Polls plugin

3.4 – 2019.09.28

  • New: validate email object for missing attachments before queue processing
  • New: color coded log rows for the failed and queued emails
  • New: email log: action to retry sending emails that failed previously
  • Edit: various updates and expansions to the universal core email class
  • Edit: queue test is now sending proper from and from name values
  • Edit: various updates to the plugin readme file including more FAQ entries
  • Edit: improved queue error detection that happens before the sending attempt
  • Edit: few small updates to the emails log processing
  • Edit: d4pLib 2.7.8
  • Fix: adding to log can set wrong status for emails sent through queue
  • Fix: in some cases reply_to value doesn’t get stored in the queue
  • Fix: some minor problems with logging the direct emails
  • Fix: add to log database method doesn’t log message value

3.3 – 2019.07.22

  • New: improved detection of the plain text email content
  • New: option to control detection of the plain text email content
  • New: option to fix the plugin content type when using HTML
  • New: various additional new actions and filters for more control
  • New: buddypress: force use of the wp_mail to send plain text emails only
  • Edit: updated plugin icon for the WordPress menus
  • Edit: remove some unused PHPMailer parameters from mirroring
  • Edit: d4pLib 2.7.5
  • Fix: saving failed message in log fails if message is too long

3.2 – 2019.06.26

  • New: mail type detection: support for GD Topic Polls
  • New: phpmailer updated to use core email class for email building
  • Edit: various updates to readme and extra plugin information
  • Edit: d4pLib 2.7.3

3.1 – 2019.06.18

  • New: universal core email class for various operations
  • New: set reply to email and name globaly in wp_mail
  • New: htmlfy expanded with the website tagline tag
  • New: htmlfy expanded with the website link tag
  • Edit: queue function: sets char set and content type if missing
  • Edit: queue test now sets char set to UTF-8
  • Edit: various minor tweaks and improvements
  • Edit: overall improved detection of the HTML emails
  • Edit: d4pLib 2.7.2
  • Fix: email log: HTML tag displayed for non-HTML emails
  • Fix: queue function: not setting the content type for the email
  • Fix: dashboard: incorrect status for the mailer intercept
  • Fix: from name global: invalid check for changing From Name

3.0.1 – 2019.06.15

  • Edit: fully updated about page for the version 3.0
  • Edit: various updates to the settings labels and information
  • Fix: missing core engines registration action point
  • Fix: missing PHPMailer services registration action point

3.0 – 2019.06.14

  • New: option to pause email sending through wp_mail
  • New: plugin dashboard completely reorganized
  • New: plugin dashboard: wp-mail status box
  • New: plugin dashboard: mail log status box
  • New: database tables for emails, log and email/log relationship
  • New: log emails send by wp_mail, queue or both
  • New: emails log panel with an overview of all logged emails
  • New: emails log panel with the option to delete from log
  • New: emails log panel with popup dialogue for email preview
  • New: daily maintenance with support for log cleanup
  • New: fake PHPMailer class now implements magic methods
  • New: mirror PHPMailer class captures more information
  • New: detect email type: support for WP error recovery mode email
  • New: email preheader tag: choose the value to generate
  • New: a filter that can be used to pause wp_mail sending
  • New: a filter that can be used to control queue decision
  • New: additional filters and actions for various things
  • Edit: additional information on the plugin dashboard
  • Edit: improved plugin settings organization
  • Edit: reset tool support for clearing the email log tables
  • Edit: d4pLib 2.7.1
  • Fix: email preheader tag set to the wrong value

2.1.2 – 2019.05.30

  • Fix: wrong links for the update and install notifications in network mode
  • Fix: wrong admin menu action used when in the network mode

2.1.1 – 2019.05.26

  • Fix: wrong database table name for the queue cleanup process

2.1 – 2019.05.22

  • New: option to use flexible limit when sending queued emails
  • New: action run after each email has been sent through the queue
  • New: a filter that can be used to pause the queue processing
  • New: option on advanced settings panel to pause the queue processing
  • New: export tool: select what to export: settings and/or statistics
  • Edit: export tool: improved import of settings from the file as a proper array
  • Edit: dashboard: improved display of the queue related information
  • Edit: improved the descriptions for various plugin settings
  • Edit: d4pLib 2.6.4
  • Fix: export tool: statistics data problem caused by the JSON import
  • Fix: export tool: wrong file name for the plugin settings export JSON file

2.0.1 – 2019.05.08

  • Edit: check if the template file exists before attempting to load
  • Fix: the display of the last queue timestamp conversion error
  • Fix: default option for the HTML template was wrong

2.0 – 2019.05.06

  • New: support for queue email send engines
  • New: email send engine: phpmailer
  • New: phpmailer support for using SMTP for sending
  • New: set from email and name globally in wp_mail
  • New: additional information on the dashboard for queue
  • New: tools to test email sending and adding to the queue
  • New: detect email type for emails sent by BuddyPress
  • New: includes defuse encryption library
  • Edit: few changes in some of the filters and actions
  • Edit: better organization of the plugin settings panels
  • Edit: improvements to the function for adding to the queue
  • Edit: various loading and initialization improvements
  • Fix: few issues when preparing an email to send in queue
  • Fix: few problems with function for adding to the queue
  • Fix: plugin settings export not working

1.0 – 2019.05.02

  • First plugin version