Title: Mail Queue
Author: WDM
Published: <strong>29 Desambra 2021</strong>
Last modified: 20 May 2026

---

Search plugins

![](https://ps.w.org/mail-queue/assets/banner-772x250.png?rev=2650489)

![](https://ps.w.org/mail-queue/assets/icon-128x128.gif?rev=2650489)

# Mail Queue

 By [WDM](https://profiles.wordpress.org/wdm-team/)

[Download](https://downloads.wordpress.org/plugin/mail-queue.1.5.1.zip)

 * [Details](https://mg.wordpress.org/plugins/mail-queue/#description)
 * [Reviews](https://mg.wordpress.org/plugins/mail-queue/#reviews)
 *  [Installation](https://mg.wordpress.org/plugins/mail-queue/#installation)
 * [Development](https://mg.wordpress.org/plugins/mail-queue/#developers)

 [Support](https://wordpress.org/support/plugin/mail-queue/)

## Description

This plugin enhances the security and stability of your WordPress installation by
delaying and controlling wp_mail() email submissions through a managed queue.

If your site exhibits unusual behavior, such as a spam bot repeatedly submitting
forms, you will be alerted immediately and can optionally pause delivery automatically
while you investigate.

 * Intercepts wp_mail() and places outgoing messages in a queue
 * Configure how many emails are sent and at what interval
 * Pause the queue without disabling the plugin completely
 * Log queued emails, sent emails, alerts, and queue events
 * Receive alerts when the queue grows unexpectedly
 * Optionally auto-pause the queue when an alert is triggered
 * Send selected queued emails immediately from the backend
 * Automatically prioritize WordPress password reset emails
 * Receive alerts when WordPress is unable to send emails

## Screenshots

 * [[
 * [[
 * [[
 * [[

## Installation

Upload the plugin, activate it, and go to the Settings to enable the Queue.

Please make sure that your WP Cron is running reliably.

## FAQ

### Do I need to configure anything?

Yes. Once activated, please go into the plugin settings and configure the queue 
for your website.

You can choose whether the Mail Queue should be Enabled, Paused, or Disabled, and
you can control how many emails are sent and how often they should be sent.

You can also enable alerts, define the queue size threshold for alerts, and optionally
enable automatic pausing when an alert is triggered.

### How does this plugin work?

When the Mail Queue is enabled, the plugin intercepts wp_mail(). Instead of sending
emails immediately, they are stored in the database and released gradually via WP-
Cron according to your configured interval.

The plugin offers three states:

Enabled: emails are added to the queue and sent gradually by WP-Cron.
 Paused: emails
are still added to the queue, but no queued emails are sent until you enable the
queue again. Disabled: the plugin does not intercept wp_mail() and has no effect
on outgoing emails.

### Does this plugin change the way HOW the emails are sent?

No. This plugin does not change HOW the emails are sent. For example: If you use
SMTP for sending, or a third-party-service like Mailgun, everything will still work.

This plugin changes WHEN the emails are sent. By the email Queue it gives you control
about how many emails should be sent in which interval.

### Does this plugin work, if I have a caching Plugin installed?

If you’re using a caching plugin like W3 Total Cache, WP Rocket or any other caching
solution which generates static HTML files and serves them to visitors, you’ll have
to make sure you’re calling the wp-cron file manually every couple of minutes.

Otherwise your normal WP Cron wouldn’t be called as often as it should be and scheduled
messages would be sent with big delays.

### What about Proxy-Caching, e.g. NGINX?

Same situation here. Please make sure you’re calling the WordPress Cron by an external
service or your webhoster every couple of minutes.

### My form builder supports attachments. What about them?

You are covered. All attachments are stored temporarily in the queue until they 
are sent along with their corresponding emails.

### What are Queue alerts?

Queue alerts are a simple and effective way to improve the security of your WordPress
installation.

Imagine your website starts sending spam through wp_mail(). The Mail Queue would
fill up quickly instead of sending everything at once. This gives you time to react,
avoid a lot of trouble and can reduce the damage significantly.

Queue alerts warn you when the queue grows longer than usual. You configure in the
settings at which threshold you want to be alerted. This gives you the chance to
review the queue and investigate whether something unusual is happening on the website.

Optionally, you can enable automatic pausing when an alert is triggered. In that
case the queue stops sending emails until you change the status back to Enabled.

Please note: This plugin sends at most one alert every six hours while the queue
remains above the configured threshold.

### Can I pause the queue without disabling the plugin?

Yes. The Mail Queue can be set to Paused.

When paused, the plugin still intercepts wp_mail() and stores outgoing emails in
the queue, but no queued emails are sent until you change the status back to Enabled.

This is useful if you want to temporarily stop outgoing delivery without disabling
the plugin completely.

### Can I add emails with a high priority to the queue?

Yes, you can add the custom `X-Mail-Queue-Prio` header set to `High` to your email.
High priority emails are still processed through the normal Mail Queue cycle, but
they are sent before normal queued emails.

_Example 1 (add priority to WooCommerce emails):_

    ```
    add_filter('woocommerce_mail_callback_params',function ( $array ) {
        $prio_header = 'X-Mail-Queue-Prio: High';
        if (is_array($array[3])) {
            $array[3][] = $prio_header;
        } else {
            $array[3] .= $array[3] ? "\r\n" : '';
            $array[3] .= $prio_header;
        }
        return $array;
    },10,1);
    ```

_Example 2 (add priority to Contact Form 7 form emails):_

When editing a form in Contact Form 7 just add an additional line to the
 Additional
Headers field under the `Mail` tab panel.

    ```
    X-Mail-Queue-Prio: High
    ```

### Can I send emails instantly without going through the queue?

Yes, this is possible (if you absolutely need to do this).

For this you can add the custom `X-Mail-Queue-Prio` header set to `Instant` to your
email. These emails are sent immediately and bypass the queue. They still appear
in the Mail Queue log so that their delivery remains visible.

Mind that this is a potential security risk and should be considered carefully. 
Please use only as an exception.

_Example 1 (instantly send WooCommerce emails):_

    ```
    add_filter('woocommerce_mail_callback_params',function ( $array ) {
        $prio_header = 'X-Mail-Queue-Prio: Instant';
        if (is_array($array[3])) {
            $array[3][] = $prio_header;
        } else {
            $array[3] .= $array[3] ? "\r\n" : '';
            $array[3] .= $prio_header;
        }
        return $array;
    },10,1);
    ```

_Example 2 (instantly send Contact Form 7 form emails):_

When editing a form in Contact Form 7 just add an additional line to the
 Additional
Headers field under the `Mail` tab panel.

    ```
    X-Mail-Queue-Prio: Instant
    ```

### Can I send queued emails immediately from the backend?

Yes. In the Queue tab you can select one or more queued emails and use the `Send
now` bulk action.

This sends the selected queued emails immediately without waiting for the next WP-
Cron cycle.

The action is only available for queued emails that are still waiting in the queue.

### What are queue events in the log?

In addition to email entries the Mail Queue log also shows queue events.

These entries document important queue state changes, for example when the queue
was enabled, paused, disabled, and auto-paused automatically after an alert.

They are not outgoing emails. They are informational log entries to help you understand
what happened and when.

### Can I still use the wp_mail() function as usual?

Yes, the wp_mail() function works as expected.

When the Mail Queue is enabled or paused, calling wp_mail() normally returns `true`
after the email has been accepted by the queue.

_Exceptions:_

If for some reason the email cannot be entered into the database, wp_mail() will
return `false`.

If you explicitly send an email using the `Instant` priority header, the email is
sent immediately instead of being queued, even if there is an error creating a log
for it in the queue.

### I have a MultiSite. Can I use Mail Queue?

Yes, but with limitations.

Do not activate the Mail Queue for the whole network. Instead, please activate it
for each site separately. Then it will work smoothly. In a future release we’ll 
add full MultiSite support.

### What is Mail Queues favorite song?

## Reviews

![](https://secure.gravatar.com/avatar/bac981d0fe661e52c6de15903555d3693903d8244c3f5ac3a08a96c4603c4e71?
s=60&d=retro&r=g)

### 󠀁[Best Mail Queue/Email Logging Plugin for WordPress](https://wordpress.org/support/topic/best-mail-queue-email-logging-plugin-for-wordpress/)󠁿

 [codings](https://profiles.wordpress.org/codings/) 21 May 2026

I have tried all of the mail log/email queue plugins I could find and this one is
the best overall. The developers are more than generous with their support and considering
feature requests. 5 stars!

![](https://secure.gravatar.com/avatar/4cb0965dba2e21bb307703271ba4634469e10a73463c8932edee26835bacac9e?
s=60&d=retro&r=g)

### 󠀁[Does exactly what you want it to do and great support](https://wordpress.org/support/topic/does-exactly-what-you-want-it-to-do-and-great-support/)󠁿

 [Dave Pattern](https://profiles.wordpress.org/daveyp/) 05 Desambra 2025

Perfect for batching the sending of our monthly newsletter out to subscribed members(
we’re using FluentSMTP to handle the actual sending of the emails).

![](https://secure.gravatar.com/avatar/95b9378006682efdf446c251ac3ac6f23c9f66c7f244c4d5fa324aa45921124a?
s=60&d=retro&r=g)

### 󠀁[Works as a charm 👌](https://wordpress.org/support/topic/works-as-a-charm-%f0%9f%91%8c/)󠁿

 [chickenme](https://profiles.wordpress.org/pitlamgi/) 29 Aogositra 2024

This plugin is a must have in all my clients’ websites, speed up SMTP email flow.
It deserves 5 stars⭐⭐⭐⭐⭐Thanks team for the plugin. Highly recommend plugin
for your websites👌

![](https://secure.gravatar.com/avatar/d5a489e6355cd11e61261fec7bc1652941e09e5b04a09aa5572efcc112a01e7c?
s=60&d=retro&r=g)

### 󠀁[Good plugin](https://wordpress.org/support/topic/good-plugin-6907/)󠁿

 [kbiegert](https://profiles.wordpress.org/kbiegert/) 10 Aogositra 2024

This is a good plugin. Easy to configure and use. Good support.

![](https://secure.gravatar.com/avatar/a5a3765e3ec9ce600aae8b13b3b2feaedb3e73df0f7f42b2e0370163c885d244?
s=60&d=retro&r=g)

### 󠀁[Good](https://wordpress.org/support/topic/good-8565/)󠁿

 [SONBEAT](https://profiles.wordpress.org/sonbeat21/) 12 Jolay 2024

Easy to use.

![](https://secure.gravatar.com/avatar/8a97fab4fc2fc9c85e87745d36f9db30ead623c3cbb44db77d8c93429954a6f1?
s=60&d=retro&r=g)

### 󠀁[does what it claims. great support](https://wordpress.org/support/topic/does-what-it-claims-great-support/)󠁿

 [shagadelic](https://profiles.wordpress.org/shagadelic/) 07 Desambra 2023

simple, straight-up, does what it claims. great support.

 [ Read all 7 reviews ](https://wordpress.org/support/plugin/mail-queue/reviews/)

## Contributors & Developers

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

Contributors

 *   [ WDM ](https://profiles.wordpress.org/wdm-team/)

“Mail Queue” has been translated into 2 locales. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/mail-queue/contributors)
for their contributions.

[Translate “Mail Queue” into your language.](https://translate.wordpress.org/projects/wp-plugins/mail-queue)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/mail-queue/), check
out the [SVN repository](https://plugins.svn.wordpress.org/mail-queue/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/mail-queue/) by 
[RSS](https://plugins.trac.wordpress.org/log/mail-queue/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.5.1

 * Minor bug and security fixes

#### 1.5.0

 * Added queue status modes: Enabled, Paused, and Disabled
 * Added optional Auto-Pause on Alert
 * Added queue event log entries for status changes and auto-pause
 * Added `Send now` bulk action for queued emails
 * Automatically prioritize WordPress password reset emails
 * Improved admin notices and settings page structure
 * Updated FAQ examples and documentation
 * Minor bug fixes and improvements

#### 1.4.6

 * Added support for the `pre_wp_mail` hook

#### 1.4.5

 * Check for incompatible plugins
 * Minor bug fixes

#### 1.4.4

 * Performance improvements for large emails

#### 1.4.3

 * Updated bulk actions for log and queue lists

#### 1.4.2

 * Database improvements

#### 1.4.1

 * Refine detection for html when previewing emails
 * Catch html parse errors when previewing emails

#### 1.4

 * Added support for previewing HTML emails as plain text
 * Improved preview for HTML emails
 * Minor bug fixes

#### 1.3.1

 * Added support for the following `wp_mail` hooks: `wp_mail_content_type`, `wp_mail_charset`,`
   wp_mail_from`, `wp_mail_from_name`
 * Minor bug fixes

#### 1.3

 * Refactor to use WordPress Core functionality
 * Added option to set the interval for sending emails in minutes or seconds
 * Added feature to send emails with high priority on top of the queue
 * Added feature to send emails instantly without delay bypassing the queue

#### 1.2

 * Performance and security improvements

#### 1.1

 * Resend emails
 * Notification if WordPress can’t send emails

#### 1.0

 * Initial release.

## Meta

 *  Version **1.5.1**
 *  Last updated **6 andro ago**
 *  Active installations **900+**
 *  WordPress version ** 5.9 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [Chinese (Taiwan)](https://tw.wordpress.org/plugins/mail-queue/), [English (US)](https://wordpress.org/plugins/mail-queue/),
   sy [German](https://de.wordpress.org/plugins/mail-queue/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/mail-queue)
 * Tags
 * [email](https://mg.wordpress.org/plugins/tags/email/)[email log](https://mg.wordpress.org/plugins/tags/email-log/)
   [mail](https://mg.wordpress.org/plugins/tags/mail/)[queue](https://mg.wordpress.org/plugins/tags/queue/)
   [wp_mail](https://mg.wordpress.org/plugins/tags/wp_mail/)
 *  [Advanced View](https://mg.wordpress.org/plugins/mail-queue/advanced/)

## Ratings

 Kintana 5 amin'ny 5.

 *  [  7 5-star reviews     ](https://wordpress.org/support/plugin/mail-queue/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/mail-queue/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/mail-queue/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/mail-queue/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/mail-queue/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/mail-queue/reviews/#new-post)

[Hijery ny  domberina rehetra](https://wordpress.org/support/plugin/mail-queue/reviews/)

## Contributors

 *   [ WDM ](https://profiles.wordpress.org/wdm-team/)

## Support

Issues resolved in last two months:

     1 out of 1

 [View support forum](https://wordpress.org/support/plugin/mail-queue/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://www.webdesign-muenchen.de)