1. Defining general settings

The EXM configuration settings

Version:

To configure the Email Experience Manager (EXM) and to change the default settings shipped with EXM, edit the EXM configuration files on the Content Management and Content Delivery instance located in \App_Config\Sitecore\EmailExperience\. In all the files, the settings are located in the <sitecore>/<settings> section.

EXM uses the exm site when rendering email messages. By default, the exm site inherits all of the properties of the shell website, with the exception of cacheHtml='true' so that the caching settings of components are respected. You can adjust the settings in the same way as you can for any other site. The documentation for this is available in the Sitecore.config file.

Sitecore.EmailExperience.ContentManagement.config

The Sitecore.EmailExperience.ContentManagement.config file contains the following settings:

SettingDefault valueDescription
EXM.CheckMtaConnectiontrueSet to true if you want to test the message transfer agent (MTA) connection before starting a dispatch.
DispatchEnqueueBatchSize300Specify the number of recipients in each batch that is added to the dispatch queue.
DispatchEnqueueThreadsNumber4Specify the number of threads that must add recipient batches to the dispatch queue.
EXM.AttachmentTotalSizeInBytes7340032Specify the maximum size in bytes of all the attachments for a message. The default value is 7340032.
EXM.CheckRecipientListsStatustrueSet to true to check if the expected and the actual number of contacts match before the email campaign is dispatched. You must only enable this setting if list locking is disabled.
EXM.CheckSuppressionListtrueSet to true if you want EXM to check the EXM supression list before sending an email message to the Email Cloud and then to the receipient.

Set to false if you want the Email Cloud to perform the first suppression list check for every recipient included in the email campaign.

Regardless of the value in this setting, contacts that appear on the Email Cloud suppression list will never receive an email message from EXM. For more information about this setting, see Manage the suppression list.
EXM.DispatchBatchSize100Specify the number of contacts that you want each dispatch thread to process at a time.
EXM.EmailTestDefinitionPath/sitecore/system/Marketing

Control Panel/Test Lab/Emails
Specify the path to the Email Test Definition.
EXM.TasksPath/sitecore/system/Settings/

Email/Tasks
Specify the path to where you want to locate the EXM tasks.
MaxGenerationThreads8Specify the maximum number of dispatch tasks that should run simultaneously to generate and send email messages to individual recipients.

You can lower this value to decrease the load on the server during the dispatch. For example, if you specify 16 for both the NumberThreads setting and the MaxGenerationThreads setting, 16 dispatch tasks are processed simultaneously. If you specify 8 for the MaxGenerationThreads setting and 16 for the NumberThreads settings, only 8 dispatch tasks are processed simultaneously. The other 8 tasks are blocked and waiting to be processed.

The value must be the same or lower than the value specified for the NumberThreads setting. If you specify a higher value, it has no effect.
Note

If you specify a high value in both the

NumberThreads and MaxGenerationThreads settings, the dispatch speed of an email campaign increases, but it also causes a higher CPU load.
MtaEmulation.ActivefalseSet to true to enable MTA emulation mode.
MtaEmulation.MinSendTime200Specify the minimum amount of time in milliseconds spent to emulate the sending of a single email. Use this in conjunction with MtaEmulation.MaxSendTime to mimic the behavior of Sitecore XP to MTA round-trip time.
MtaEmulation.MaxSendTime400Specify the maximum amount of time in milliseconds spent to emulate the sending of a single email.
MtaEmulation.FailProbability0.01Specifies the probability of connection failure into your emulation.
NumberThreads16Specify the number of threads that you want to use when dispatching. Each thread creates a dispatch task that is responsible for sending an email campaign to a contact.

The number must be equal to the exm/eds/connectionPoolSettings/maxPoolSize setting.
ResetTimeout3600Specify the period in seconds after which the module considers an automated message as failed and tries to resend it.
StandardMessages.DefaultGlobalOptOutListThe common global opt-out list.Specify the path of the default global opt-out contact list that should be used for a new manager root.
StandardMessages. SubscriptionConfirmationSpecify the path to the message that a contact should receive after subscribing to a mailing list. This message contains the subscription confirmation link.
StandardMessages. SubscriptionNotificationSpecify the path to the message that a contact should receive after clicking the confirmation link in the subscription confirmation message.
StandardMessages. UnsubscribeNotificationSpecify the path to the message that a contact should receive after opting out of a mailing list.
StandardMessages.UnsubscribeFromAllNotificationSpecify the path to the message that a contact should receive after opting out of all mailing lists.
StandardMessages.DispatchCompletedSpecify the path to the message that should be sent to the email address specified in the Dispatch Process Notifications section when the dispatch process is finished.
StandardMessages.TriggeredNotificationSpecify the path to the activation status message of an automated message.

Sitecore.EmailExperience.ContentDelivery.config

The Sitecore.EmailExperience.ContentDelivery.config file contains the following setting:

SettingExampleDescription
EXM.OpenAndClickCache1MBSpecify the cache size that is used to track duplicate opens and clicks.
TrackerXConnectFacetsFacetNameXConnectFacetsThe name of the Tracker facet to use.

Sitecore.EmailExperience.Core.config

The Sitecore.EmailExperience.Core.config file contains the following settings:

SettingExampleDescription
CampaignClassification.Channel{DDAFB85B-1511-48B8-9374-2A8A1F371645}Specify the channel ID that you want to add to the email campaign item when a new email campaign is created. The channel ID is used to track the email campaign when a recipient clicks a link in a message.
DispatchUserAgentECM DispatchSpecify the name of the UserAgent that you want to use to request pages for rendering email messages in the dispatch process.
EXM.DefaultEventSiteNameexmSpecify the name of the website that email events, such as Message sent and Message undelivered, should be associated with in Experience Analytics.
EXM.DuplicateProtectionInterval300For two email events that relate to the same message and contact, specify the maximum interval (in seconds) between the events for them to be considered as duplicate events. If the two events occur within this time frame, only the first email event is stored.

This value is specified in seconds.
EXM.EnabledtrueSet to false to disable EXM.
EXM.IncludePIIinLogFilesfalseChange the value to true if you want PII sensitive data to be logged by EXM.
EXM.OpenHandlerPath/sitecore%20modules/Web/EXM/

RegisterEmailOpened.ashx
Specify the path to the handler that processes the email open events.
EXM.EmailValidationRegexAny valid regexSpecify the regular expression validation class that you want to create and use for email validation.
EXM.RendererUrlValid URLSpecify the host name that should be used to download the message source when an email message is being previewed and/or sent to a recipient.

If you do not specify this value, the RendererUrl is populated with the server URL when EXM sends the first request to Sitecore. The value is by default empty.
IIS.Password12345Specify the password that you can log in with if anonymous access is disabled.
IIS.UserserviceuserSpecify the user name that you can log in with if anonymous access is disabled.
MaxMessageFolderSize50Specify the maximum number of messages or message-related campaigns, tests and so on that EXM can create in a single folder. If there are more messages than this number, a new folder is created.
PhoneFieldNamePhone numberSpecify the contact phone number of a Sitecore user profile. This property was added to the Sitecore.EmailExperience.Core.config file because a corresponding field does not exist in the default user profile in Sitecore XP. You should change the value of this setting if you already have the phone number field in your custom user profile.
QueryStringKey.AnalyticsContactIdec_contact_idUsed by the module to build query strings for generating messages.
QueryStringKey.EcmIdec_id
QueryStringKey.Recipientec_recipient
QueryStringKey.Subscriptionec_subscr
QueryStringKey.MessageIdec_message_id
QueryStringKey.Campaignec_campSpecify the key for identifying the email campaign on the query string.
QueryStringKey.ContactIdentifierSourceex_id_sSpecify the key for the contact identifier source on the query string.
QueryStringKey.ContactIdentifierIdentifierex_id_iSpecify the key for the contact identifier identifier on the query string.
QueryStringKey.EmailHistoryEntryIdec_emailidSpecify the key for identifying the email history entry ID in the query string.
QueryStringKey.ec_langec_langSpecify the key for identifying the target language in the query string.
QueryStringKey.ec_tviec_tviSpecify the key for identifying the test value index in the query string.
QueryStringKey.ExmEncryptedQueryec_eqSpecify the key for identifying the module's page requests.
EXM.MessageBodyMaxCacheSize5MBSpecify the size of the message body cache.
QueryStringKey.OnlineVersionQueryStringKeysc_pd_viewSpecify the key that you want to use for online versions of email messages.
QueryStringKey.RedirectUrlec_urlSpecify the key for identifying the target URL in a redirect request.
EXM.UrlValidationRegexAny valid regexSpecify the regular expression validation class that you want to create and use for URL validation.
EXM.UseContextContentLanguagefalseChange the value to true, to use the Context.ContentLanguage.Name setting for the Marketing Operations API.

Sitecore.ExM.Framework.config

The Sitecore.ExM.Framework.config file contains the following setting:

SettingExampleDescription
EXM.DebugfalseSet this to true to enable verbose logging in Sitecore log files. Use to troubleshoot EXM problems.

Sitecore.EDS.Core.config

The Sitecore.EDS.Core.config files contains the following EXM-specific settings:

SettingDefaultDescription
EXM.DispatchProvider.MessagesPerConnection10000Specifies the maximum number of messages that can be sent in one connection.
EDS.Core.Net.Smtp.Send.RetryerMax. 10 attemptsEXM uses this exponential backoff retryer to send messages over SMTP. For more information on how to configure this retryer, see Configuring the EXM retryers.
EDS.Core.Net.Smtp.ValidateConnection.Retryer3 retriesEXM uses this retryer to get and validate an SMTP connection from the connections pool.

Sitecore.EDS.Providers.CustomSmtp.config

The Sitecore.EDS.Providers.CustomSmtp.config file contains the following settings:

ElementSettingsDescription
proxySettingsenabledSet to true to request the SMTP server via a proxy server.
hostNameSpecify the proxy server IP address or the DNS name.
authMethodSpecify the HTTP authentication method of the proxy server. The valid values are Basic and NTLM.
passwordSpecify the password to use when logging into the proxy server. For the SOCKS4 proxy type, this value is ignored.
usernameSpecify the user name to use when logging into the proxy server.
portSpecify the proxy server port.
connectionTypeSpecify the type of the proxy server. The valid values are:

  • None
  • HTTP
  • SOCKS4
  • SOCKS5
smtpSettingsserverSpecify the SMTP server address or the IP address.
portSpecify the port number of the SMTP server.
loginDomainSpecify the domain to use when logging into the SMTP server.
userNameSpecify the user name to use when logging into the SMTP server.
passwordSpecify the password for accessing the SMTP server.
authenticationMethodSpecify the SMTP authentication method. The valid values are:

  • NONE
  • LOGIN
  • PLAIN
  • CRAMMD5
  • NTLM
  • OAUTH
startTlsSet to true to enable the use of the SSL/TLS connection prior to authenticating and sending email.
proxySettingSpecify the proxy settings to request the SMTP server via a proxy server.
connectionPoolSettingsmaxPoolSizeSpecify the number of connections that can be created in the connection pool.

The number must be equal to the NumberThreads setting in the Sitecore.EmailExperience.ContentManagement.config file.
maxConnectionRetriesSpecify the maximum number of retries allowed for obtaining a connection from the pool.

If a connection is not obtained within the specified number of retries, a connection timeout exception is logged in the log file.
maxConnectionIdleTimeSpecify the time from the last connection usage after which a connection is removed from the pool.
maxConnectionWaitTimeSpecify the maximum time that the connection pool should spend trying to obtain a specific connection if it failed the previous attempt.

If a connection pool exceeds the specified time, a connection timeout exception is logged in the log file.
delayBetweenConnectionRetriesSpecify the time that the connection pool should delay between retrying to obtain a connection.

Sitecore.EDS.Providers.CustomSmtp.Sync.config

The Sitecore.EDS.Providers.CustomSmtp.Sync.config file contains the following settings:

ElementSettingsDescription
pop3SettingserverSpecify the POP3 server IP address or the DNS name.
portSpecify the POP3 server port.
userNameSpecify the user name to use when logging into the POP3 server.
passwordSpecify the password to use when logging into the POP3 server.
useSslSet to true if you want the POP3 server to use SSL for transferring messages.
startTlsSet to true to use the TLS connection prior to authenticating and retrieving bounces.
proxySettingsSpecify the proxy settings to request the POP3 server via a proxy server.
useOAuthSet to true if you want to use OAuth.
receiversCollectionsettingsSpecify the POP3 settings collection.
bounceInspectorSpecify an inspector that verifies a message mime as a bounce and determines the type of bounce.
environmentIdentifierSpecify the environment identifier to use to identify the Sitecore instance.
SchedulingagentSpecify the agent for synchronizing POP3 bounces.
methodSpecify the name of the method in the agent class that must be executed.
intervalSpecify the interval that the agent must be executed as a TimeSpan.
receiversCollectionSpecify a receivers collection by providing multiple Pop3 accounts for bounces collection.

Sitecore.EDS.Providers.CustomSMTP.OAuth.config

The Sitecore.EDS.Providers.CustomSMTP.OAuth.config file contains the following settings:

ElementSettingsDescription
oauthSettingsappCallbackUrlThe redirect URI, where authentication responses can be sent and received.

It should be set to https://yourinstancename/sitecore/api/ssc/EXM/OAuth.
authUrlThe authorization endpoint.
accessTokenUrlThe token endpoint.
clientIdThe application (client) ID.
clientSecretThe application secret.
scopeThe space-separated list of scopes.
stateThe randomly generated unique value.
If you have suggestions for improving this article, let us know!