If you are using the latest EMX 3.4, you may already know that Sitecore replaced their MTA with Sparkpost. In previous versions, you would need to have Sitecore Application Centre credentials and an MTA subscribed Sitecore licence before you start to use Sitecores MTA.
Now, you no longer need to access the Sitecore Application Centre as Sitecore is fully integrated with Sparkpost for EXM 3.4. Further more DKIM (DomainKeys Identified Mail) has been implement within EXM.
What is DKIM?
DKIM lets an organization take responsibility for a message that is in transit. The organization is a handler of the message, either as its originator or as an intermediary. Their reputation is the basis for evaluating whether to trust the message for further handling, such as delivery.
Technically DKIM provides a method for validating a domain name identity that is associated with a message through cryptographic authentication. So instead of passing user name and password to SMTP server, it passes an encrypted key to the mail server. This helps to keep your email campaigns out of spam folders and it ensures that others cannot use your domain without permission.
You can read more about DKIM here.
How to configure DKIM in Sitecore?
Firstly, you will need to add domain. Purpose of adding each domain is to validate the domains that you want to use to send email campaigns. This domain is not registered within the MTA, but instead Sitecore validates the sending domain by DKIM (DomainKeys Identified Mail).
Secondly, add the TXT records in DNS configuration.
The method of adding TXT record differs in different hosting environments, however it is as simple as adding a recording of type 'TXT' and providing the "Hostname" and "Value" i.e. a DKIM key. For more information on these records, please check this link.
Changes to domain records can take up to 24 hours to take affect.
If the hostname and key are valid, you should see a green tick; as per the below screen shot.
Last but not least, you need to disable the custom SMTP configuration and enable Sparkpost configuration. This can be done by removing the suffix .disabled from the following files:
Do I have to configure DKIM for different environments?
No. Once the domain has been added against your Sitecore licence (within EXM), it will take affect for all instances using this license, regardless of the environment i.e. UAT, Production etc.
How to verify it’s working?
EXM will validate the “from email” based on the domains that you registered.
Alternatively you can use the “Review” option and send a quick test. If all the everything is correct, you should see a message successfully sent message at the top of the page.