This documentation supports the 19.02 version of Remedy Action Request System.

To view the latest version, select the version from the Product version menu.

Remedy Email Engine architecture

Remedy Email Engine consists of multiple modules that run in threads. All the modules are designed to be thread safe, and to increase speed and scalability. The following image depicts the Remedy Email Engine architecture.

Remedy Email Engine Architecture

Remedy Email Engine modules

The following are the Remedy Email Engine modules:


Description and purpose


Monitors the mailbox for statistical information such as when the connection dropped and the length of time the connection was down.


Runs in separate threads to maximize speed and reliability.

  • Reads incoming mails from the mail server.
  • Creates entries in Remedy AR System Email Messages form.
  • Adds messages to message queue.


Parses and executes messages in the message queue.


Primarily responsible for creating an email based on a template and the data it retrieves from Remedy AR System.

  • Monitors the Remedy AR System Email Messages form for outgoing messages.
  • Formats messages to be sent.


Runs as a separate thread, and sends formatted messages to the mail server.


Logs messages, error messages, and warnings to the Remedy AR System Email Errors form or local file.


Synchronizes configuration information for the email engine using the Centralized Configuration of Remedy AR System. Note that BMC supports file too.

All modules run as separate threads. An incoming mailbox uses two threads to process email in the message queue--the Receiver and Execution modules. An outgoing mailbox uses separate threads running for the Creator and Sender modules to format and send outgoing messages.

You can specify various troubleshooting parameters, for example, the queue size of email messages or how finely you want to log information within a module. For more information, see Debugging options for the Remedy Email Engine and file.

Threading model for outgoing mailboxes

The Sender and Creator threads for every outgoing mailbox depend upon the value set for the NumberOfSenderThreads property and the number of configured outgoing mailboxes respectively.

Depending upon the NumberOfSenderThreads value and the number of configured outgoing mailboxes, a connection pool is created. The Sender thread uses the connections from this connection pool for sending the outgoing messages.


The number of connections for each configured outgoing mailbox depends upon the number of Sender threads.

The following figure explains this concept in detail.

Threading model for multiple outgoing mailboxes

As per the above figure, there are 3 configured outgoing mailboxes and the value of NumberOfSenderThreads is assumed to be 2. Due to this, 2 Sender threads and a connection pool with 6 connections (2 connections for every mailbox) is created. The Sender threads send the outgoing messages from the common message queue created for the 3 Creator threads by using the connections from this connection pool.

Related topic

Email engine service failover in a server group

Was this page helpful? Yes No Submitting... Thank you