What is the email sending queue?

The WordPress email system is based on the wp_mail() function that will attempt to send an email instantly. There is no delay based logic, it simply passes the email through PHPMailer. From there, email is passed to the mail server directly or using SMTP protocol to the mail server. What happens then is beyond the website control.

All mail servers do have some internal queue system, but they can be limited in various ways: how many emails they can send in the time period, how the large queue is allowed, how it will handle too many emails, server resources mail server uses. Depending on the server hosting company, it is very likely that mail server is limit, and it will not be able to handle a lot of emails sent in a short period of time.

Most WordPress websites don’t send too many emails. But, if you have busy comments system, forums or a lot of visitors or users, a website can generate quite a lot emails, and it can lead to potential issues with lost emails or server resources issues due to the objective limits or limits imposed by the hosting company. And, some of these things can lead to the slow response of the web server due to the time PHP needs to wait for email sending, and other problems that will impact your users experience on the website.

Current status of the Queue with additional controls in GD Mail Queue Pro

GD Mail Queue can help with all that, by using own email queue. When GD Mail Queue plugin intercepts an email and sends it to own queue, it is essentially sending that email into the database (using a highly optimized and indexed table). And, in the background, every 5 minutes (or more, depending on the plugin settings you can control), plugin is taking a number of emails (50 by default, can be changed in settings) and it sends them. The queue processing doesn’t interfere with the user experience, it is run as an independent background process (CRON based).

With all that, you can set the limits, and you don’t need to wary any more about going over the limit for the mail server, losing emails because of that, or having users wait for emails to be sent. And, given that plugin has a lot more to offer, including support for various email sending services, you can combine queue sending with an option to use outside email service to send emails using SMTP relay or REST API. Check other articles to learn more about that.