Email Communications
The Email Communications system settings links FlexDeploy to your email server to enable outbound event notifications, and optional inbound reply processing for approval responses.
Property | Description |
---|---|
SMTP Host Name | Host name of the SMTP server for event notifications. |
SMTP Host Port | Host port of the SMTP server for event notifications. |
SMTP User | SMTP Authentication user |
SMTP Password | The SMTP User's password |
SMTP From Address | Address from which all outbound emails are sent |
SMTP Enable STARTTLS | Enables the use of the STARTTLS command (if supported by the server) to switch the connection to a TLS-protected connection before issuing any login commands. Reference - https://kunder.support/knowledgebase/400/SSL-vs-TLS-vs-STARTTLS.html |
Enable Email Approval | Enable approvals by email reply. Requires IMAP host name/port and user/password |
IMAP Host Name | Host name of the IMAP server for inbound email processing. Required if email approvals are enabled. |
IMAP Host Port | Host port of the IMAP server for inbound email processing. Required if email approvals are enabled. |
IMAP User | IMAP Authentication user. Defaults to the SMTP User. |
IMAP Password | The IMAP User's Password. Defaults to the SMTP Password. |
IMAP Enable STARTTLS | Enables the use of the STARTTLS command (if supported by the server) to switch the connection to a TLS-protected connection before issuing any login commands. Reference - https://kunder.support/knowledgebase/400/SSL-vs-TLS-vs-STARTTLS.html |
IMAP Properties | IMAP Server Properties. These are all the properties applied when connecting to your mail server. Depending on your mail server you may need to add more properties than the default below. With this field you have access to the follow variables to use in the IMAP Properties:
Default IMAP Properties PROTOCOL=imap mail.${{PROTOCOL}}.host=${{IMAP_HOST_NAME}} mail.${{PROTOCOL}}.port=${{IMAP_HOST_PORT}} mail.${{PROTOCOL}}.socketFactory.class=javax.net.ssl.SSLSocketFactory mail.${{PROTOCOL}}.starttls.enable=${{IMAP_ENABLE_STARTTLS}} mail.${{PROTOCOL}}.socketFactory.port=${{IMAP_HOST_PORT}} #mail.${{PROTOCOL}}.socketFactory.fallback=false #mail.${{PROTOCOL}}.ssl.enable=true #mail.${{PROTOCOL}}.connectiontimeout=5000 #mail.${{PROTOCOL}}.timeout=5000 mail.${{PROTOCOL}}.ssl.protocols=TLSv1 TLSv1.1 TLSv1.2 IMAP TLS Versions Property The value for the property mail.${{PROTOCOL}}.ssl.protocols is set by default in 5.5.0.5 and newer versions. Users of earlier are required to add line manually if using an older version. |
Email Reply Folder | The email folder to process replies from. Defaults to INBOX if not specified. All inbound emails will be sent to default inbox folder, but rules can generally be configured on mail servers to move them to other folders if desired. Warning All emails from the this folder will be deleted after processing. Do not use an email account which is used for any other purpose since the emails will be deleted. |
Approval Reply Address | Return address for approval replies. Defaults to the SMTP From Address. Important The emails are read and processed from this account, which must be a dedicated inbox and not used for any other purpose. All emails from the Reply Email Folder in this account will be deleted after processing. The connection is established to the mail server using the IMAP settings, and therefore, the IMAP user and the Approval Reply address must be linked. It is possible to utilize an email group/distribution as the reply address, provided the IMAP User is a member of that group. |
Email Reply Process Interval | Frequency in which FlexDeploy processes inbound messages from the Email . Required if email approvals are enabled. Default value is 5 minutes. |
Email Reply Process Count | Number of email messages which are read and processed each interval. The limit prevents Spam or DoS attacks from impacting the performance of the FlexDeploy server. Required if email approvals are enabled. Default value is 30 messages. |
Attach Logs | Whether or not to attach logs to the notification email for Request Completed and Request Failed events. If set to Never no logs will be attached (this is the default option). If set to Always all execution logs will be attached. If set to On Failure only the log(s) where the failure occurred will be attached. If only 1 log is present, just that log file will be attached it will be named "<InstanceName>_<StepNumber>_<StepName>_<EndPoint>(<PluginExecutionId>).log". If multiple are present they will be put into a zip folder and attached that way. The logs will be named "<StepNumber>_<StepName>_<EndPoint>(<PluginExecutionId>).log". The zip file will be named "<InstanceName>_logs.zip". |
Once the configuration is complete, you can test the configuration by clicking on the Test Email Configuration button.
- Send a test email to the logged in user's email address to validate the SMTP related settings.
- Reads the inbox of the Approval Reply Address to validate the IMAP related settings.
Troubleshooting IMAP Connection
Ensure the following points are checked if your IMAP connection is not working.
- Are you using TLS?
- If TLS, make sure STARTTLS is disabled and IMAP Properties contains the line for "starttls.enable". If your TLS version used on IMAP server is not v1.0, then change to a different version with the imap property "mail.${{PROTOCOL}}.ssl.protocols=TLSv1.2"
- Can you connect to IMAP server outside of FlexDeploy server? Running the below command will test for this:
- openssl s_client -crlf -connect {YOUR_IMAP_HOST}:{YOUR_IMAP_PORT}
- Can you connect to IMAP server within FlexDeploy server? Running the below command will test for this:
- tag login {YOUR_ACCOUNT_USERNAME} {YOUR_ACCOUNT_PASSWORD}
- Are you using a SSL port?
- Set PROTOCOL to "imaps" in the IMAP Properties or add this line "mail.${{PROTOCOL}}.ssl.enable=true" to allow usage of SSL.
- In the case of SSL certificate errors such as "javax.mail.AuthenticationFailedException: AUTHENTICATE failed" you may have to load certificate files in java keystore.
- For PKCS12 certificates - https://jackstromberg.com/2013/05/importing-a-ssl-certificate-into-a-java-keystore-via-a-pkcs12-file/
- style