Outgoing email in CiviCRM on our servers works perfectly and it works “out of the box” with no configuration required. We also support bounce processing and other inbound email processing, but we will cover those in another blog post. Today’s post is about sending emails from your CiviCRM to your constituents.
Sending bulk mail involves two issues, from a technical standpoint. One is sending them out and the other is making sure the recipient receives them.
The second issue is usually easier, so let’s talk about that first. Every mail provider has its own policy with regard to incoming email. In general, to avoid the rate limits applied by some mail providers (such as Yahoo, Hotmail, Gmail, etc.), we recommend sending no more than 50-60 messages per minute. We would also recommend that messages are sent in batches of up to 2,000 per hour. Sending more than that can trigger anti-spam rules on some providers and then they block your emails.
Regarding sending all these emails from our servers, how precisely this works depends on the type of hosting you have with us, that being shared hosting or VPS.
We definitely don’t recommend sending more than 100 or maybe 200 outgoing emails per minute. Since our cron on shared hosting accounts runs only once every 15 minutes, that amounts to a maximum of 800 per hour.
You can configure your CiviCRM to send 100 (or 200) emails per batch by putting that number in the “Mailer Batch Limit” box on the CiviMail Settings page, which you can find in the menus under Administer — CiviMail — Mailer Settings.
On our VPS accounts, the cron can run every 5 minutes or even every minute. Since it runs more frequently, we definitely recommend that you set your CiviCRM batch throttle to be 60 or maybe 100. That is fine if all of your email addresses are valid. Our servers are configured, maintained and optimized for web hosting, not for bulk mail delivery. Thus if you would inject 8000 emails at once into the the mail queue, or clog up the queue with hundreds of messages with invalid addresses, we may be forced to delete the messages and/or suspend the SMTP service.
You would only be sabotaging yourself as a VPS is a private server, but no one, especially us, want to see that happen.
But if set your CiviCRM “Mailer Batch Limit” to 60 or 100 per minute and run it every 5 minutes or every minute, that should be fine.
Also, please keep in mind that we have a very strict anti-spam policy, and any email campaigns should be very carefully contained, meaning that you should not send messages to people that have not agreed to receive email from you.