Email Engine and Designer is a special module of the Solution Builder designed for handling e-mail notifications to specified recipients considering their preferred languages and cultured. The emails sent to the Recipients are automatically generated based on dynamic data according to the rules defined in Email Descriptor
By the means of the Email Designer the System allows to design the Email Descriptor, a special definition of the Email template, which incorporates a static localizable text with dynamic data which are impacted by input parameters. There are plenty of ways how the Email sending can be triggered, like Send Email action for Compliance Rules, Send Email Workflow Activity, using UI action "Send Email", or just use Email Service API to trigger email from code. All these options adding a record to the Queue.
The Email Engine purpose are fully repeats the out-dated Alerting Engine, and aimed to replace it fully in upcoming releases.
The application Background process responsible for reliable processing requests for sending emails. The different Applications modules using various options adding requests for sending emails to the application Queue, which one by one pulled by Email Engine, what guarantees the reliable processing, as regardless any misbehavior (e.g. Server restart), the requests are persisted in Queue, and Email Engine keep the processing right after the reactivation.
The main purpose of the Engine is calculate all necessary information required for the sending email(-s), like Recipients (To, CC), Sender information, Subject, Body, Signature, etc, and communicate with the mail server to send an email.
The Email engine is taking care to send emails to recipients in their preferable language, correctly formatted in recipient culture with the dates in local time. For the cases when the related Email Descriptors defines to send emails in recipients preferable cultures, the Email Engine analyzes detected recipients preferences and automatically regenerates the email Subject and Body to consider the recipients preferable language, culture (for formatting dates, currencies, etc) and time zone (to display dates in email in recipient local time). If the Email Descriptor defines to neglect recipient preferences or recipient are not a User (defined by email address which is not known by the System), the Email Engine uses the System default settings for generating emails.
Email Sender and Signature
In request to send email it is possible to set the Sender details, either the User or plain email address. If no Sender information is defined the Email Engine takes default Sender from the Settings.
The email signature is not required, but as well as Sender, could be implicitly defined in 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 Email Descriptor.
In Solution Builder Administration settings, there is a section for the configuring Email Engine.
|Enabled||Activates or deactivates the whole Email Notifications. When deactivates, the System ignores all incoming requests for sending Emails|
|SMTP Server||Defines the server address with open SMTP port, which is used for sending emails. E.g. smtp.gmail.com|
|Default Sender||Email address of a default Email Sender. Used by Email Engine when the Sender is not implicitly defined in the Send operation|
Specifies the way Email Engine processes the sending and logging Emails:
|E-mail Folder||The folder which Email Engine uses to store E-mails when the Mode "Write Emails to specified Folder" is activated|
|Use SMTP Authentication||Signals the Email Engine to use SMTP Authentication|
|Credentials||The Email Engine supports two way to authenticate on Email Server
|Use SSL||Signals the System to use secured SSL protocol for communication with Email Sever|
|Use Network Credentials|
|Recipients In Single Email||Specifies the maximum amount of Recipients in one single Email. If the amount of recipients exceeds the defined value, the Email Engine sends multiple emails each of them has the defined (or less) amount of recipients.
Some Email Servers significantly reduces the performance when the email has huge amount of recipients. This setting allows to counteract such problem
|Clean-up Emails after (Days)||Defines amount of Days the Emails stored in Database. This setting makes sense only when the Mode "Send Email and store in Database" is activated|
|Attempts to Send||The amount of attempts the Email Engine uses for successful sending of the Email. If the Email was not sent the System saves it to Database with Failed status, and when the connection to email server be recovered the Email could be send manually, using action "Resend"|
Enabled, activates or deactivates the whole Email Notifications. When deactivates, the System ignores all incoming requests for sending Emails.
SMTP Server, defines the server name (or IP) with open SMTP port, which is used for sending emails.
The Solution Builder provides multiple ways how the sending email can be triggered by the System.
The most popular way to send Emails in Service Management is using Compliance Rules, which allows to define list of action the System need to fulfill when some configured event occurs in System. The Compliance Rule engine calculates automatically all necessary information for sending email, like related Email Descriptor and parameters values, Recipients, and calls Email Engine for sending an email
Use Workflow Activity "Send Email UUX" for sending emails from Workflow.
Send E-mail Action
The special UUX action available for Email Descriptor object, which can be used for manual triggering email notification. The action wizard asks to specify manually Sender, Recipients of the email, Signature for the Email (could be either implicitly set or taken indirectly from the Sender user Profile) and also provide values for the selected Email Descriptor parameters. On submitting the action the System immediately generates email based on selected E-mail descriptor with specified input parameter values, and sends it to listed recipients.
The sending Email from the Application server can be activated by calling a REST service.
See more details about the execution contract in Web Services management area in Administration.