GD Mail Queue is a brand new plugin available for free on WordPress.org that implements an email queue system and turns plain text emails into HTML emails with the use of a customizable template.
This plugin solves two problems that WordPress mail sending has: proper queue to send emails in the background and sending HTML emails made from the basic plain text emails WordPress supports. The queue uses the database to store all the emails with every information email contains, including a list of attachments, custom headers and more.
Emails are processed by the plugin in two stages: first (if enabled), the plugin is converted from plain text to HTML. After that, the plugin determines if the email should go into the queue. If it doesn’t, it gets sent as usual. By default, into queue go all emails that have at least one recipient in CC or BCC fields. If the email is sent to a single recipient, there is no need to use the queue, it is sent as usual. Important thing is that plain text to HTML conversion works regardless of the queue use.
So, by default, regular WordPress emails (registration, lost password…) will not be added to the queue, and any email that has more than one recipient will go into the queue. This is very important for plugins like bbPress that use CC and BCC fields to send one email to multiple recipients. The plugin is fully tested with bbPress and with GD bbPress Toolbox Pro plugin (that uses the same method for sending)
The queue is processed using background CRON job every 5 minutes (by default, can be changed), and there are additional options for more control over the job. These options also include settings to override FROM, Reply-To and Sender fields for emails sent through the queue. Once a day plugin removes old emails from the queue.
For HTML conversion, the plugin has two built-in email templates. Both are 100% email valid, and work great in all email clients. Both are simple and clean, and one of them has additional header area. For header and footer areas you can define additional HTML to include that can contain images. If you include image, it has to have full URL. If you don’t want to use predefine templates, you can include full HTML for your own template.
Here is the example email using the predefined template with the header block. The header is defined through plugin settings and it includes the logo image.
The plugin has additional tools, include full plugin removal tool that can remove database table, plugin settings and CRON jobs. The plugin is available for free on WordPress.org, so check it out:
Let me know what you think about the new plugin, and if you have any questions or suggestions.