Some hosting companies and SMTP services set a per hour limit on the number of emails that can be sent from their servers or accounts. They do this to protect their reputation and keep their deliverability rates as high as possible by limiting the damage that can be caused by spammers and people with poor list management skills.
While it may be an inconvenience for the person wanting to send out tens of thousands of emails in a short period of time, ultimately, over time, the benefits outweigh the inconvenience, we would all rather have 100% of our emails delivered as opposed to say 70% and this enforced ‘testing’ helps that process of trust building.
Fortunately arpReach makes it easy to comply with any sending limit imposed by a hosting company or ESP and the same process could be used to help you ‘warm-up’ your IP address when using a new dedicated server.
How to comply with hourly server sending limits
Use case: an ESP such as Mandrill allows only 150 emails to be sent per hour by new account holders.
The solution: is to change some settings so that no more than 150 emails per hour get sent. Then arpReach will automatically manage sending 150 per hour until all due emails have been sent.
What arpReach settings to change:
To access the ‘Advanced’ settings panel:
Login and navigate to:
Setup > Email Systems > Show List
select the email system you want to modify.
To the right of the email system you want to modify hover over the ‘Choose Action‘ drop down and select ‘Edit‘
In the screen that opens select the ‘Options‘ tab > Advanced
There are a minimum of two settings to change within the ‘Advanced’ settings section
- Batch size
- Send Limit per run
The settings for these fields will vary depending on your scheduled (cron) task run frequency and the sending limit imposed by your email system provider. Use the formula we detail below to work out your input numbers and then update the field values.
The formula to work out ‘Send limit per run‘ values.
Definition: The ‘Send limit per run’ is the number of emails that will be sent out every run of the cron job:
Formula: [hourly limit] DIVIDED BY ([no. of cron job runs in an hour] MINUS [a number of emails to give way to immediate messages])
Explanation: We recommend running your scheduled task every 3 or 5 minutes. You can change this in your control panel by changing its “minutes” setting to */3 or */5. In the screen shot above we have our cron job set to run once every three minutes.
So every 3 minutes, the scheduled task will run and send out due emails. Because you are limited to 150 per hour (with mandrill), you need to ensure that each of those runs sends no more than 7 emails (20 runs per hour x 7 emails = 140 emails per hour).
Therefore, open the “advanced” section on the “settings” of the “sendmail” email system in your arpReach, and change the “send limit per run” to 7. We would also recommend in the same section, setting the “batch size” to 150.
Setting the “send limit per run” value slightly lower (ie 7) allows for other emails that may need to be sent during an hour such as “immediate” replies or confirmation requests for new subscriptions.
We’ve always recommend setting the ‘delay between each email’ to zero, since setting it to a high number would not only slow the sending but also cause timeouts. If there really is a need for a delay between each email, it should be set to a low number and you need to make sure that your server’s MySQL timeout can handle it.
Use case: The server allows 500 emails to be sent per hour
The Cron job setting: Once every 5 minutes – 60 minutes (1 hour) divided by 5 = 12
Formula: 500 / 12 = 41
Batch Size: 500
Send limit per run: 41 emails (12 runs per hour x 41 emails = 492 emails per hour)