The E-mail Engine and Designer is a module of the Solution Builder designed for handling e-mail notifications to specified recipients considering their preferred languages and cultures. The e-mails sent to the Recipients are automatically generated based on dynamic data according to the rules defined in the E-mail Descriptor.
By means of the E-mail Designer, the System allows you to design the E-mail Descriptor, a definition of the E-mail template, which incorporates a static localizable text with dynamic data impacted by input parameters. There are plenty of ways of how the e-mail sending can be triggered, such as the Send E-mail action via Compliance Rules, the Send E-mail Workflow Activity, using the "Send E-mail" UI action, or simply by using the E-mail Service API to trigger an e-mail from code. All these options add a record to the Queue.
The E-mail Engine's purpose is identical to that of the outdated Alerting Engine. Our aim is to replace the latter with the former in upcoming releases.
The application background process is responsible for the reliable processing of requests for sending e-mails. Applications modules use various options of adding requests for sending e-mails to the application Queue, from which they, one by one, are pulled by the E-mail Engine, which guarantees the reliable processing, as regardless of any misbehavior (e.g. Server restart), the requests are persisted in the Queue, and the E-mail Engine keeps the processing right after the reactivation. The main purpose of the Engine is to calculate all the necessary information required for e-mail sending, such as Recipients (To, CC), Sender information, Subject, Body, Signature, etc, and communicate with the mail server to send an e-mail.
The E-mail Engine is taking care of sending e-mails to recipients in their preferable language, correctly formatted according to the recipient culture, with dates in local time. For the cases when the related E-mail Descriptors define that e-mails should be sent in recipients' preferable cultures, the E-mail Engine analyzes the detected recipients' preferences and automatically regenerates the e-mail Subject and Body to consider the recipients' preferable language, culture (for formatting dates, currencies, etc) and time zone (to display dates in an e-mail in recipient local time). If the E-mail Descriptor defines that the recipient preferences should be neglected or the recipient is not a User (defined by the e-mail address which is unknown by the System), the E-mail Engine uses the System default settings for generating e-mails.
E-mail Sender and Signature
In a request to send an e-mail, it is possible to set the Sender details, either a User or plain e-mail address. The E-mail Engine takes the default Sender from the Settings if no Sender information is defined. The e-mail signature is not required, but just like the Sender could be implicitly defined in the Send Request; otherwise, it will be automatically detected first from the defined Sender (each user of the System can setup a personal Signature in the User Profile), or from the related E-mail Descriptor.
See also E-mail Signatures page.
Starting from version 10.0.2 the E-mail Engine executes on trusted Matrix42 Workers. It allows easy scale-out the System by adding additional Worker to the cluster for scenarios when a huge amount of e-mails needs to be generated and sent.
E-mail Engine logs can be found in the logs file for the Matrix42 Worker where the engine is running
E-mail Engine configuration is available in the Global System Settings of the Administration application. For more information, see Global System Settings: E-mails.
The Solution Builder provides multiple ways of how the System can trigger the e-mail sending.
The most popular way to send E-mails in Service Management is using Compliance Rules, which allows you to define the list of actions the System needs to fulfill when some configured event occurs in the System. The Compliance Rule engine calculates automatically all the necessary information for sending an e-mail, such as the related E-mail Descriptor and parameters values, Recipients, and calls the E-mail Engine for sending an e-mail.
Use the Send E-mail UUX Workflow Activity for sending e-mails from a Workflow.
Send E-mail Action
The Send E-mail UUX action available for the E-mail Descriptor object, which can be used for manual triggering of an e-mail notification. The action wizard asks you to specify manually the Sender, Recipients of the e-mail, Signature for the E-mail (could be either implicitly set or taken indirectly from the Sender User Profile) and also provide values for the selected E-mail Descriptor parameters. On submitting the action, the System immediately generates an e-mail based on the selected E-mail descriptor with specified input parameter values and sends it to the listed recipients.
The sending E-mail from the Application server can be activated by calling a REST service.
See more details about the execution contract in the Web Services management area, in Administration.