Configure a dedicated email dispatch server on-prem
Dedicated EXM servers generate messages in the same way as the primary server does. This lets you speed up the message generation and sending process. You can install one or more dedicated email dispatch servers, depending on your typical dispatch scenario and deployment environment. All servers share the same databases.
To configure a dedicated server:
-
On the dedicated server, install Sitecore Experience Platform and configure it as a basic Content Management server. You can combine it with other server roles as needed.
-
In the
Web.config
file, in the<appSettings>
section, add DedicatedDispatch as a role. For example:RequestResponse<add key="role:define" value="ContentManagement, DedicatedDispatch" />
-
On the primary Content Management (CM) server, in the
Sitecore.EmailExperience.ContentManagementPrimary.config
file, in the<DedicatedServers>
section, enter the address of the dedicated server. For example:RequestResponse<DedicatedServers> <address value=" http://dedicated.server " /> </DedicatedServers>
NoteIf you enter the IP address of the dedicated server in the address setting (for instance:
<address value="http://10.38.41.24" />
), then on the dedicated server, Sitecore must run on the default web site.You have now configured the dedicated server. You can configure several dedicated servers using this procedure.
-
On the primary CM server, in the
\App_Config\ConnectionStrings.config
file, add theEXM.DedicatedDispatchService
connection string, for example:RequestResponse<add name="EXM.DedicatedDispatchService" connectionString="/sitecore%20modules/web/exm/dedicateddispatchservice.asmx" />
-
On all the content management servers in your scaled environment, in the
\App_Config\ConnectionStrings.config
file, add theEXM.InternalApiKey
connection string, for example:RequestResponse<add name="EXM.InternalApiKey" connectionString="0x0000000000000000000000000000000000000000000000000000000000000000" />
NoteThe format of the connection string value is represented by a 64-character hexadecimal format. The connection string value above is just an example. You must create your own.
You have now configured the dedicated server. You can configure several dedicated servers using this procedure.
When you start the dispatch process on the primary CM server, the same process starts on the dedicated servers. As long as there are subscribers left in the list in the EXM dispatch queue, each server accesses the list, takes some of the remaining subscribers, generates the message for them, and passes the message to the message transfer agent configured for this server.
You can use the Sleep setting in the SendEmail pipeline to balance the load between the primary CM server and the dedicated servers.
Using scripts to configure the Content Management server and dedicated dispatch server (DDS) in a scaled environment
In on-premise deployments, the Sitecore Installation Framework (SIF) uses the sitecore-XP1-cm.json
file as a template for the CM server, and the sitecore-xp1-dds.json
file as a template for the DDS. The Sitecore-XP1-cm-dds-patch.json
file is a SIF patch configuration that adds support for EXM on a dedicated dispatch server and updates both the CM and the DDS.
If you want to deploy the patch, you can use this script:
Install-SitecoreConfiguration -Path "sitecore-XP1-cm-dds-patch.json" -Package ".\Sitecore.Patch.EXM (OnPrem)_CM.zip" -SiteName "CMSiteName" -DedicatedServerHostName "DDSHostName"
On the CM server, the DeployXP1.ps1
file uses the Sitecore-XP1-cm-dds-patch.json
file to:
-
Add the
<add name="EXM.DedicatedDispatchService" connectionString="/sitecore%20modules/web/exm/dedicateddispatchservice.asmx"/>
connection string. -
Update the
Sitecore.EmailExperience.ContentManagementPrimary.config
file and adds the URL of the DDS server to the<DedicatedServers>
node. -
Update the
EXM.CryptographicKey
,EXM.AuthenticationKey
, and theEXM.InternalApiKey
.
In SIF, the DeployXP1.ps1
file uses the Sitecore-XP1-cm-dds-patch.json
file to:
-
Download the DDS patch for the web deployment package.
-
Install the patch and update the following parameters:
-
Application Path (the name of the CM site to be patched).
-
EXM Cryptographic Key (64-digit hexadecimal EXM Cryptographic Key).
-
EXM Authentication Key (64-digit hexadecimal EXM Authentication Key).
-
EXM Internal Api Key (64-digit hexadecimal EXM Internal API Key for validation requests to the DDS).
-
Dedicated Dispatch Service (the Dedicated Dispatch Service path with the default value
/sitecore%20modules/web/exm/dedicateddispatchservice.asmx
, which is added to the connection string on the primary CM server). -
Dedicated Server Host Name.
-
-
Update the following parameters in the
Sitecore.EmailExperience.ContentManagementPrimary.config
file and in theConnectionString.config
file:-
EXM.DedicatedDispatchService
-
EXM.CryptographicKey
-
EXM.AuthenticationKey
-
EXM.InternalApiKey
-
DedicatedServers
-