---
title: "Configure a dedicated email dispatch server on-prem"
slug: "configure-a-dedicated-email-dispatch-server-on-prem"
abstract: "Use dedicated EXM servers to speed up the process of generating and sending messages."
---
# Configure a dedicated email dispatch server on-prem

[Dedicated EXM servers](https://doc.sitecore.com/xp/en/developers/exm/103/email-experience-manager/using-dedicated-email-dispatch-servers.html "Using dedicated email dispatch 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:

1. On the dedicated server, install Sitecore Experience Platform and [configure it as a basic Content Management server](https://doc.sitecore.com/xp/en/developers/exm/103/email-experience-manager/configure-exm-in-a-scaled-environment.html "Configure EXM in a scaled environment"). You can combine it with other server roles as needed.
2. In the `Web.config` file, in the `<appSettings>` section, add DedicatedDispatch as a role. For example:

    ```text
    <add key="role:define" value="ContentManagement, DedicatedDispatch" />
    ```

3. 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:

    ```xml
    <DedicatedServers>
       <address value=" http://dedicated.server " />
    </DedicatedServers>
    ```

    > [!note]
    > If 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.

4. On the primary CM server, in the `\App_Config\ConnectionStrings.config` file, add the `EXM.DedicatedDispatchService` connection string, for example:

    ```xml
    <add
    name="EXM.DedicatedDispatchService" connectionString="/sitecore%20modules/web/exm/dedicateddispatchservice.asmx"
    />
    ```

5. On all the content management servers in your scaled environment, in the `\App_Config\ConnectionStrings.config` file, add the `EXM.InternalApiKey` connection string, for example:

    ```text
    <add name="EXM.InternalApiKey" connectionString="0x0000000000000000000000000000000000000000000000000000000000000000" />
    ```

    > [!note]
    > The 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.

> [!tip]
> You can use the Sleep setting in the [SendEmail pipeline](https://doc.sitecore.com/xp/en/developers/exm/103/email-experience-manager/the-exm-pipelines.html "The EXM pipelines") 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:

```text
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 the `EXM.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 the `ConnectionString.config` file:
    - EXM.DedicatedDispatchService
    - EXM.CryptographicKey
    - EXM.AuthenticationKey
    - EXM.InternalApiKey
    - DedicatedServers