This documentation applies to the 8.1 version of Remedy Action Request System, which is in "End of Version Support."

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

BMC Remedy Email Engine architecture

BMC 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.

BMC Remedy Email Engine modules

Following are the BMC 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 BMC 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 BMC Remedy AR System.

  • Monitors the BMC 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 BMC Remedy AR System Email Errors form or local file.


Maintains configuration information for the system specified in the BMC Remedy AR System Mailbox Configuration form and file.

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.

BMC Remedy Email Engine Architecture
(Click the image to expand it.)

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 BMC 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
(Click the image to expand it.)

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.

This version of the documentation is no longer supported. However, the documentation is available for your convenience. You will not be able to leave comments.