Intercept emails sent with wp_mail() into flexible mail queue for sending emails, convert plain text emails to HTML, email log, and more.
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 their 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.
The central part of the plugin, called ‘Mailer,’ controls the process.
wp_mail
callProcess 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 and you can choose between predefined HTML templates, or register own templates via filter.
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.
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.
wp_mail
The plugin includes an advanced email log.
The plugin will attempt to strip malicious content from intercepted email, and sanitize the email plain text before generating HTML version, with the option to control the scope of the HTML tags to allow. HTML from subject will be striped. Emails stored in the log will be additionally sanitized, and on display, email content will be again escaped or run through KSES to avoid issues.
Pro version contains many more great features:
With more features on the roadmap exclusively for the Pro version.
wp_mail
function that uses the PHPMailer
object.wp_mail
or PHPMailer and uses default function and class built into WordPress.PHPMailer
object.wp_mail
function (Sendgrid, WP Offload SES, and similar).gd-mail-queue
.gd-mail-queue
folder to the /wp-content/plugins/
directory.Yes. Each website can be set up to use the mail queue.
The plugin has its top-level item in the WordPress admin side menu: GD Mail Queue. This will open a panel with a dashboard, settings, and tools.
When the plugin is installed, the email log is disabled. To enable it, open plugin Settings -> Log panel and enable it from there.
Yes. If you use the 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.
Yes (and no). The plugin can detect and intercept CF7 emails. If your CF7 form contains attachments that have to be sent, GD Mail Queue can intercept the email, but attachments will be gone because the CF7 plugin is deleting attachments as soon as it sends an email, so queued email can’t find the attachments to send. If you don’t use attachments in the CF7 plugin, GD Mail Queue will work fine. If you use CF7 with attachments, make sure to disable GD Mail Queue intercept to queue for these emails. Logging and other features in GD Mail Queue work fine with CF7 email. To stop intercept for specific mail types, check out this: Filter: gdmaq_mailer_add_to_queue.
No. GD Mail Queue has support for SMTP email sending, and you can add your SMTP server information for the plugin to use for all emails and/or queue emails. If you need to use REST API for email sending or 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.
Yes. But, because the queue sends emails with the delay, the attachments must be available to ship at any time. So, if the email sends temporary attachments removed by the sending function as soon as they are passed to the 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.
No. All plugins that send emails to various services using REST API or some other API to connect to services always replace the wp_mail() function, making it impossible for my plugin to detect emails and work with them. GD Mail Queue can’t use third-party plugins to send emails because there is no universal interface for all plugins to implement and use.
No. Most email sending plugins start by replacing the 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.
Yes. Settings for that are available on the PHPMailer Settings panel once you switch Mode to Custom SMTP Server.
Yes. To get more information on registering additional templates, check out the knowledge base article: Additional HTML templates.
Yes. The POT file is provided as a base for translation. Translation files should go into the languages directory.
json_encode
replaced with wp_json_encode
&
character