EXM 3.4 Support for a Local MTA

Wednesday, March 15, 2017 @ 01:00

By: Scott Gillis, Lead Consultant – With the release of Sitecore Email Experience Manager (EXM) 3.4, I felt the need to revisit my original post on configuring EXM for usage with a local mail transfer agent (MTA), as there have been some changes in the steps.

Sending through Sitecore

The default email delivery is done using a product called 'Sitecore Email Cloud', which uses a new third party service Spark Post. The basic steps for setting this up post install are:

  1. Navigate to <Website Root> -> App_Config \ Include \ EmailExperience on the file system
  2. Remove '.disabled' from
    • Sitecore.EDS.Providers.SparkPost.config.disabled
    • Sitecore.EDS.Providers.SparkPost.Sync.config.disabled
    • Spark Post Config Image
  3. Talk with your Sitecore Representative to confirm purchase and licensing of Sitecore Email Cloud. A new screen exists in EXM that helps you track your current licensing state.
    • Subscription Administration Image

Custom SMTP Sending

In previous versions of EXM, you could setup the usage of a 'Local MTA' via the configuration of a single flag as well as a few Sitecore Setting fields. In the latest version, we now have to turn on a self-contained config file, Sitecore.EDS.Providers.CustomSMTP.config.

  1. Navigate to <Website Root> -> App_Config \ Include \ EmailExperience on the file system
  2. Remove '.disabled' from
    • Sitecore.EDS.Providers.CustomSMTP.config.disabled
    • Sitecore.EDS.Providers.CustomSMTP.Sync.config.disabled
    • Custom SMTP Config Image
  3. Next, we need to configure our SMTP connection for our MTA inside of Sitecore.EDS.Providers.CustomSMTP.config. Full documentation of all settings can be found here: Custom SMTP Config Settings
    <smtpSettings type="Sitecore.EDS.Core.Net.Smtp.SmtpSettings, Sitecore.EDS.Core" singleInstance="true">
        <server>localhost</server>
        <port>25</port>
        <userName></userName>
        <password></password>
        <authenticationMethod>None</authenticationMethod>
        <startTls>false</startTls>
        <proxySettings ref="exm/eds/proxySettings" />
    </smtpSettings>
  1. To connect to Amazon's AWS as I showed in the older post MTA Configuration in Sitecore, check this post out for steps on registering and setting up AWS. The basic patch file would be:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
      <sitecore>
        <exm>
          <eds>
            <smtpSettings type="Sitecore.EDS.Core.Net.Smtp.SmtpSettings, Sitecore.EDS.Core" singleInstance="true">
              <server>email-smtp.us-west-2.amazonaws.com</server>
              <port>25</port>
              <userName>SMTP Username as provided by AWS, NOT your Amazon account username</userName>
              <password>SMTP Password as provided by AWS, NOT your Amazon account password</password>
              <authenticationMethod>LOGIN</authenticationMethod>
              <startTls>true</startTls>
              <proxySettings ref="exm/eds/proxySettings" />
            </smtpSettings>
          </eds>
        </exm>
      </sitecore>
    </configuration>

Download from GIST

Custom SMTP Sync

Sending of emails is great, but if you want to see data collected from your custom SMTP, you must also make some updates to the Sitecore.EDS.Providers.CustomSMTP.Sync.config file. This file controls the POP3 connection to gather data.

To see what needs to be configured, checkout this article: The EXM configuration settings

Conclusion

Using the Custom SMTP is great for use in development and even testing environments, but strong consideration needs to be taken into account before rolling it out into production. One of the challenges of using a Custom SMTP, is the lack of full analytics collection that can occur. This is mostly due to the limited amount of information that can be retrieved via POP3. The other major challenge when using the Custom SMTP in production is the additional configuration and management you must perform for DNS processing, blacklisting, etc...

Before committing to one way or the other in production, be sure to review the differences as laid out by Sitecore in The Sitecore Email Cloud compared to the Custom SMTP.

Resources

 

 

Scott Gillis, Lead Consultant at Paragon and 2017 Sitecore MVP, has been working with Sitecore for several years. He has a deep passion for helping clients leverage their content and data into powerful new capabilities in Sitecore and has produced successful outcomes as the technical lead on numerous, complex implementations. Recently, Scott has been focusing on helping these clients take advantage of the wealth of data collected by Sitecore Experience Analytics.