Mail Queue
Reference: mailqueue
This module helps you increase your store performance by saving emails inside mail queues instead of sending them immediately. Emails will be sent shortly after by module cron job
This module requires thirty bees 1.5.0 or newer
This thirty bees module will help you manage your outgoing emails easily
Instead of sending emails immediately, module will store them inside one of the mail queues. You can create rules to determine which queue will be selected for every email.
Module cron job will later attempt to deliver emails from queues. This alone is a great performance improvement. Sending emails can take a lot of time. Because it is synchronous, it blocks response. By offloading this task from customer initiated request to backend thread, you will make your front office much faster.
But there are other benefits of using mail queues:
Failure recovery
When attempt to send send email fails for any reasons, module will retry it later. Without mail queue moule, such failure would raise error/exception and would broke functionality. For example, email sending failure could block displaying order confirmation page, or processing payment. This will never happen again
Email preview
You can click on every email in your queues and see the content, download attachments, etc. You can easily see what will be, or what was actually sent to your customers.
Sending delay
You can specify initial delay -- minimum amount of time the email will sit inside the mail queue before module will attempt to deliver it.
This can be useful, for example, to decouple emails - Order Confirmation and Bank wire payment emails are usually send together. You can create dedicated queue for bank wire payment email and delay these emails by few minutes.
Manual moderation
When you pause email queue, module cron will not send emails from that queue automatically. You can manually review all pending emails, and delete or send them.
This can be useful tool to fight spam. You can create paused queue, and define conditions like "put email into this queue if it contains text 'online casino' or 'viagra'"
Audit log
You can set retention policy per queue. Sent emails can be immediately deleted from queue, or kept forever or for specified amount of days.
Mass emailing
Some modules can send many emails at once (for example email marketing modules). If implemented improperly, such task can timeout. With mail queues it will not, because saving emails locally is much faster than actually sending them. You can put hundreds or even a thousands of emails into the queue in one requests.
Throttling
You can set sending rate per queue, for example to send max 3 emails per hour. This can be useful -- sending many emails at once can put your domain on blacklist. By throttling outgoing emails you can prevent this
Different email transports
You can set different email transport for every queue.
With this, you can use dedicated SMTP server for your transaction emails, and different one for you marketing emails. When your marketing emails are marked as spam, it will not have any impact on your transaction emails reputations.
Top quality module bringing vital functionality and speed improvements
A must have module.
-
version 1.0.0 released on 04/05/2024
First version