Recently, a Sitecore Stack Exchange question was posted asking about the differences between Sitecore’s Cloud Email Delivery Service and the Custom SMTP configuration that is provided by Sitecore’s Email Experience Manager (EXM). The following is my answer to that question, which I felt made for a good blog post.
The difference between Sitecore Email Cloud Delivery and Custom SMTP are pretty simple. However, to really understand why they exist, some background is needed.
What is a Mail Transit Provider and why do I need one?
At it’s most basic component, the act of Sitecore (or any application really) to send email successfully, requires connection to some kind of outgoing SMTP (Simple Mail Transport Provider) service to do the actual dispatching of email.
SMTP’s are heavily regulated because of the impact of sending SPAM messages. One area of concern is what’s called Reputation management. It’s the concept that if you want your emails to be delivered to the Inbox of your recipients and not to the Junk/Spam boxes, the reputation of your domain is incredibly important.
How do you manage Reputation?
It’s rather quite simple in theory, but really difficult in practice. The core concept is making sure that you’re only sending email to email addresses that have actively opted in to be mailed to. Opt-In can come in many different forms and some companies do a better job than others at making it clear that an action the user is taking is subscribing them to a process that will send emails to them.
However, when things go wrong, and there’s a high number of bounces, a high number of spam complaints, or a high number of illicit tactics, spoofing etc occurring, it can place the actual SMTP server on to a publically distributed blacklist by IP address. When an SMTP server is placed on this list, it takes a manual action to remove it, and every SMTP server in the world will validate against the blacklist and deny the sender from sending any further email through that SMTP server.
In cases where most companies are using 3rd party services for SMTP, those companies generally have controls in place to try and intervene before their own servers get blacklisted.
In cases where companies host their own SMTP server, if they aren’t careful, the could end up on the blacklist.
DKIM and SPF are all ways that have come about as a way of validating the sender’s domain and email server to ensure that the email server is acting correctly.
Sitecore’s MTA Providers
Out of the box with Sitecore 9.0.1 as well as with EXM 3.4 and EXM 3.5, Sitecore ships with two MTA Providers:
- Sitecore Email Cloud Delivery Service
- Custom SMTP
This is the easy one. This is a Bring-Your-Own-SMTP concept. If anyone is familiar even in the slightest with sending email automatically, you have to have an SMTP server. Custom SMTP provides you default configurations for selecting an SMTP Server, Port, optional authentication, and other configurations.
The most common SMTP services being used with the Custom SMTP are services like:
- Amazon SES SMTP
The Custom SMTP provider with Sitecore has a few drawbacks. Because it’s a generic SMTP provider, it doesn’t gather bounces or spam complaints from the SMTP providers. So, you won’t see that information come into EXM. There’s also no global suppression list (controlled by the SMTP provider) for you to view, so you can’t see the suppression list. It also doesn’t do batching. So each email is sent individually to the SMTP server. If you have a high latency, that could be an issue.
Sitecore Email Cloud Delivery Service
Sitecore Email Cloud Delivery Service or Sitecore Cloud EDS is Sitecore’s subscription-based SMTP provider service. It’s basically in competition with the other SMTP providers listed above but carries some unique differences.
For starters, Sitecore Email Cloud Delivery Service is specifically built (through Sparkpost) to deal with Reputation Management within Sitecore’s EXM. There is a control panel that shows you the domains configured through Sitecore EDS and provides you all of the information you need to know to correctly setup your DKIM keys on your domain.
Additionally, the suppression list is automatically populated into the Sitecore EXM Management UI.
But the biggest bang for the buck is the built-in reporting that is gathered by Sitecore EDS. Bounces and Spam Complaints give you a clear view into the deliverability of your email distribution. The lower your deliverability is, the higher chances that your domain will be blacklisted.
Technically, when using Sitecore’s Cloud EDS, there is NO SMTP configuration to be done. It’s included out of the box and embedded with the provider. Instead, the subscription is attached to your Sitecore license. The subscription will denote how many email messages per month should be delivered.
So what’s the difference?
The biggest difference is whether you have a tolerance for managing email reputation on your own or paying a subscription service to do it. Sitecore heavily recommends using Sitecore Cloud EDS (and probably because they get money from it) but customers who don’t use Sitecore Cloud EDS are much more likely to have deliverability issues if no one is actively monitoring it.