Email Settings
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 | Default Values |
---|---|---|
SMTP Host Name | Host name of the SMTP server for event notifications. |
|
SMTP Host Port | Host port of the SMTP server for event notifications. | 25 |
SMTP Auth Type | Authentication method to use for SMTP, defaults to Basic Auth. | Basic Auth |
SMTP User | SMTP Authentication user |
|
SMTP Password | The SMTP User's password |
|
SMTP OAuth Client Id | The application client id when using an Auth Type of OAuth. |
|
SMTP OAuth Client Secret | The application client secret when using an Auth Type of OAuth. |
|
SMTP %Other Properties% | Depending on your Auth Type selection, additional properties may be needed for configuration. For example, Microsoft OAuth requires the Microsoft Tenant Id. |
|
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 | true |
SMTP Properties | SMTP 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 SMTP Properties:
Default SMTP PropertiesPROTOCOL=smtp
mail.${{PROTOCOL}}.host=${{SMTP_HOST_NAME}}
mail.${{PROTOCOL}}.port=${{SMTP_HOST_PORT}}
mail.${{PROTOCOL}}.starttls.enable=${{SMTP_ENABLE_TLS}}
mail.${{PROTOCOL}}.connectiontimeout=30000
mail.${{PROTOCOL}}.timeout=30000
mail.${{PROTOCOL}}.writetimeout=30000
mail.${{PROTOCOL}}.class=com.sun.mail.smtp.SMTPTransport
mail.${{PROTOCOL}}.ssl.protocols=TLSv1.2 | PROTOCOL=smtp |
Enable Email Approval | Enable approvals by email reply. Requires IMAP host name/port and user/password | false |
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. | 993 |
IMAP Auth Type | Authentication method to use for IMAP, defaults to Basic Auth. | Basic Auth |
IMAP User | IMAP Authentication user. Defaults to the SMTP User. |
|
IMAP Password | The IMAP User's Password. Defaults to the SMTP Password. |
|
IMAP OAuth Client Id | The application client id when using an Auth Type of OAuth. Leave this field blank if you want to use the same provider/credentials as SMTP. |
|
IMAP OAuth Client Secret | The application client secret when using an Auth Type of OAuth. Leave this field blank if you want to use the same provider/credentials as SMTP. |
|
IMAP %Other Properties% | See SMTP Other Properties. Leave this field blank if you want to use the same provider/credentials as SMTP. |
|
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 | false |
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 PropertiesPROTOCOL=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 | PROTOCOL=imap |
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. WarningAll 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. | INBOX |
Approval Reply Address | Return address for approval replies. Defaults to the SMTP From Address. ImportantThe 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. | 5 |
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. | 30 |
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". | Never |
Once the configuration is complete, you can test the configuration by clicking on the Test Email Configuration button located at the bottom next to Save.
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.
Connecting via OAuth
After entering the required OAuth information, you must click the authorize button which will open a new window where you can login to the chosen provider and authorize FlexDeploy for Email access.
For more specific information on creating SMTP/IMAP connections via OAuth for specific providers, see the appropriate page:
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". Match the version of TLS version used on your IMAP server with the imap property: e.g. "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/
Note
Please make sure there are no extra special chars while copying SMTP or IMAP properties in the property box.
To run SMTP in debug mode set the Log level to finest .and logs can be found at Catalina.out
- style