Note: this post was edited August 17, 2017, to include pricing changes on Mailjet and Sparkpost.
CiviMail is a great way to send targeted email to your supporters using CiviCRM to segment recipients and populate token values. Meanwhile, email marketing services such as Mailchimp and Constant Contact provide sending infrastructure so you don't have to worry much as much about deliverability. By using CiviMail with an SMTP or email API service, CiviCRM users get the benefits of both.
One popular service is Mandrill, which is offered by Mailchimp. Hundreds of organizations use the extension that integrates it with CiviCRM. However, in late February, Mandrill users received an email about “some significant changes that will affect your Mandrill account”.
To summarize, Mailchimp is looking to shed users who are not using their core Mailchimp product. Mandrill users will have to sign up for a paid monthly Mailchimp plan, and the allowance of 12,000 free emails per month is eliminated. Customers will need to buy $20 blocks of 25,000 emails per month.
They also modified the terms of service to prohibit usage such as CiviMail:
If you use Mandrill to send bulk emails, in violation of our Acceptable Use Policy, then we may charge you at the comparable MailChimp pricing tier or terminate your account.
So, what are the best options for CiviMail users? The following is a compilation of options for replacing Mandrill as your outbound SMTP mailer for CiviCRM.
For longer than many bulk SMTP services have been around, CiviSMTP has been offering external SMTP tailored for CiviMail users. They take care of setup for you (for a $50 fee), and bounce handling and reporting is integrated and reliable.
Pricing is more expensive than most, and there is no free option. The minimum charge per month is $15, including 3,000 emails, and the next 7,000 messages are 3¢ for each additional ten. The following 90,000 emails are 1¢ for each ten.
Rackspace offers a bulk email service called Mailgun. It offers straightforward documentation and separate tracking and queuing of mail from each domain. Domain verification is strongly encouraged but not required.
A CiviCRM extension is available for handling bounce and failure webhook notifications.. However, it has not had substantial updates for over a year and only claims to support CiviCRM 4.4.
The first 10,000 emails per month are free, and you don't even need to enter a credit card if you are certain to stay below that amount. The next 490,000 are 0.05¢ each. Billing is by actual usage.
Mailjet is a bulk email service based in Paris. It offers documentation in several languages. Domain verification is optional, though you must verify each sender's address otherwise. Multiple subaccounts can be configured.
A CiviCRM extension is written for CiviCRM 4.6, but it includes a PHP file override, making it incompatible with CiviCRM 4.7.
Pricing is based upon the plan you select, with overage amounts charged. The lowest plan is $7.49 per month for up to 30,000 emails, with $3.00 per additional 1,000 emails. The next plan is $27.95 per month for up to 60,000 emails, with $2.20 per additional 1,000. The third tier is $74.95 for up to 150,000 emails, with $1.00 per additional 1,000, and it includes a dedicated IP address.
A free plan allows up to 6,000 emails per month, but it is limited to 200 per day.
SendGrid is a longstanding SMTP service that some CiviCRM users have worked with for six or seven years. Multiple subaccounts can be configured for separate sending domains or subdomains, but only with “Pro” level accounts.
A CiviCRM extension is available in the extension directory with versions compatible with 4.4, 4.6, and 4.7.
Pricing is based upon the plan you select, with overage amounts charged. A free plan is available for up to 12,000 emails per month. The next plan is $9.95 per month for up to 40,000 emails, with 0.1¢ per additional email. The second paid tier is $19.95 per month for up to 100,000 emails, with 0.075¢ per additional email. A dedicated IP address and subaccounts are available on plans starting at $79.95 for up to 100,000 emails.
Simple Email Service (SES)
Amazon SES is Amazon Web Services' (AWS) bulk email offering. It is ideal for users of other AWS products, as it gives 62,000 free emails per month for messages sent from Amazon EC2 instances. You will need to either verify each sending address or the entire sending domain.
No CiviCRM extension is available, but you can follow instructions to configure it to have bounces arrive in a mailbox for CiviCRM's built-in bounce handler to pick up.
Messages are priced at 10¢ per 1,000 messages, except for the free tier from EC2 instances. Attachments are priced at 12¢ per GB sent (a 1 MB attachment sent to 1,000 recipients is a GB).
One of the newer bulk SMTP providers is SparkPost, launched in September 2014. A service of Message Systems, a provider of very-large-scale email infrastructure, SparkPost offers similar features to other bulk SMTP providers.
Your Web Server
If you're running CiviCRM on a VPS or cloud server (as you really ought to), you can also just send mail directly from the server. You will absorb responsibility for being a good email citizen (as you should already be doing) and keeping your message transfer agent (MTA) software such as Postfix up-to-date, but it is a very realistic option for CiviMail users sending a modest amount of email. (Our rule of thumb at AGH Strategies is that self-management of email is appropriate if your average email run is 10,000 recipients or smaller.)
You will need to find appropriate instructions (or your CiviCRM partner can help you) for installing Postfix and Dovecot (or equivalents) on your Linux distribution, but once it's set up, your only maintenance should be regular upgrades and periodic review of logs and blacklists (or you can rely on monitoring services that your CiviCRM partner might offer). You will also want to be sure that your CiviMail settings limit each batch to a few hundred messages, run every 5-10 minutes.
Based on this research, I built a calculator for estimating your SMTP costs. You should check with the vendor directly before making a final decision, and price isn't the only factor, but this may help you compare.
The following are several resource that may be valuable for you:
- Wiki page outlining features of mailing providers (thanks to Mathieu Lutfy from SymbioTIC Coop for initiating it)
- CiviCRM StackExchange question about Mandrill alternatives
- Pros and cons of CiviMail versus external marketing email providers
Just want to point out that if the only emails your server sends are CiviCRM emails, then if the provider offers SMTP relay then you don't even have to install an extension. For example Sparkpost (not advocating for them over others, just as an example, although I am leaning towards them) has this page for instructions:
If your server does send out other emails then if you're handy with mail server config you could probably adjust the above to only relay for the emails that are coming from CiviCRM.
However in this case you should check for bounces using the "bounce processor" in CiviCRM. The main advantage of webhooks is that they avoid having to setup a mailbox for this. Another advantage of webhooks is for managing spam complaints.
It may sound silly, but someone might fill in a form on your website, do a typo in their gmail/yahoo email address, someone else receives it and clicks the "this is spam" button on their webmail. Another useful use-case is for managing bounces from contribution receipts (by default CiviCRM does not have a way to detect those boucnes).
I have been using Mailgun. We send 300,000-ish emails per month. I update the Mailgun webhook extension and currently use it on 4.7. https://github.com/blackbricksoftware/uk.teamsinger.civicrm.mailgun
We currently use Amazon SES (SMTP) to send out emails from CiviCRM from multiple digitally signed & verified domains.
We also use Amazon SNS to collect all bounces/complaints and send them all to one email address to be processed by CiviCRM
We only needed to make a very minor change to CiviCRM's mail processing to read the SNS formatted VERP bounce backs.
This combination is very cheap (25$ per month to send ~180'000 emails) and really simple to maintain once setup. Anyone on the system can send out emails and receive replies using any of the verified domains but all bounces/unsubscribe can be handled in one mailbox.
Just want to emphasize that the Sendgrid CiviCRM extension is not compatible with WordPress, although it is listed as CMS independent. https://civicrm.org/extensions/sendgrid-event-notification-processor
But Andrew provides a pull request for a fork that is compatible with WordPress here: https://github.com/imba-us/com.imba.sendgrid/pull/1