EXM 3.4 Support for a Local MTA

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 sending is through a product called ‘Sitecore Email Cloud’ which is uses a new third party service Spark Post. The basic steps for setting this up post install are

  1. Navigate to -> 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 Files
  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.
        <li

    EXM Subscription Administration

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 -> 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
  3. Custom SMTP Config Files
  4. 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 at Custom SMTP Config Settings
<smtpSettings type="Sitecore.EDS.Core.Net.Smtp.SmtpSettings, Sitecore.EDS.Core" 
    singleInstance="true">
    <server>localhostserver>
    <port>25port>
    <userName>userName>
    <password>password>
    <authenticationMethod>NoneauthenticationMethod>
    <startTls>falsestartTls>
    <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 to registering and setting up AWS. The basic patch file would be
<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.comserver>
          <port>25port>
          <userName>SMTP Username as provided by AWS, 
            NOT your Amazon account usernameuserName>
          <password>SMTP Password as provided by AWS, 
            NOT your Amazon account passwordpassword>
          <authenticationMethod>LOGINauthenticationMethod>
          <startTls>truestartTls>
          <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 you 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 see 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 Custom SMTP in production is the additional configuration and management you must perform for DNS processing, blacklisting, etc…

Be for committing 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

Advertisements