The difference between Sitecore Email Cloud Delivery and Custom SMTP are pretty simple. But 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 Transit 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, high number of spam complaints, or high number of illicit tactics, spoofing etc occuring, it can place the actual SMTP server on to a publically distributed black list 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 black list and deny the sender from sending any 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 black list.
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
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 a SMTP Server, Port, optional authentication, and other configurations.
The most common SMTP services being used with the Custom SMTP are services like:
- SendGrid
- Amazon SES SMTP
- Mailgun
- Postmark
- Mandrill
- AuthMailer
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.
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. 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. Instead, the subscription is attached to your Sitecore license. The Subscription calls for X amount of mail messages to be delivered per month.
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.