If sending emails from the queue is enabled, by default, the plugin will send out 1 email every 5 minutes. If you want to send a lot of emails, it could take days to get everything out. That’s where the “Outgoing Email Rate” option comes in handy:
If for example, you want to send 900 emails during the next 24 hours, you just need to do the following math:
24 hours x 60 minues = 1440 minutes per day
1440 minutes / 5 sending intervals = 288 sending intervals per day
Now divide 900 emails by 288 intervals and you end up with 3,12 emails per batch. You should round it up to 4, just to make sure all emails are sent within the next 24 hours. So in this case, you would type in ‘4’ on the above shown settings page under “Outgoing Email Rate”
If you’re using an SMTP server and you’re confident that your email service provider will handle much bigger batch sizes, you can increase this value to whatever you see fit. But please keep in mind, that sending emails in bulk takes time and your server might run into timeout issues. Most servers have a PHP execution time limit of 30 seconds. If the process of sending takes longer, it will likely be interrupted and not all emails will be sent. So even if your SMTP provider can handle bigger batch sizes, it’s a good idea to limit the above number to 100 or so. If you’re able to increase the max_execution_time limit to a bigger number, you can adapt the above setting to whatever you see fit.
Sidenote: the system of our plugin relies 100% on WordPress core functionality “WP cron”. You can read more about it here. In order for WP cron to work properly, your site needs to acutally have a bunch of visitors each day. Because the WP cron engine will only start working when a site of yours is loaded. In the background, the entire WordPress system will be involved, which makes sure the WP cron is triggered.
If your site has not enough traffic, you can trigger regular daily site requests as a real cron job with your hosting provider. For example, you could let the cron job request your homepage every 5 minutes or so. The setup process for cron jobs differs from host to host, so we cannot explain how to do this here. Please contact your hosting provider’s support team, if you can’t get this working on your own.