When using Appian email polling with Microsoft Exchange Server, mail-listener.log shows the following error:
[ServerService Thread Pool -- 63] INFO com.appiancorp.process.emailpoller.EmailPoller - MA 1 endpointActivation success MailActivationSpec(storeProtocol=pop3, mailServer=servername, port=110, starttls=false, mailFolder=INBOX, userName=domainusername, password non-null, pollingInterval=30000, messageSelector=null, maxMessages=1, debug=true, partialFetch=true, forceImapLogin=false)[Appian MailActivation - 1] ERROR com.appiancorp.process.emailpoller.MailActivation - An error occurred while attempting to open the mailbox to poll; no mail will be fetched. javax.mail.AuthenticationFailedException: Logon failure: unknown user name or bad password.
[ServerService Thread Pool -- 63] INFO com.appiancorp.process.emailpoller.EmailPoller - MA 1 endpointActivation success MailActivationSpec(storeProtocol=pop3, mailServer=servername, port=110, starttls=false, mailFolder=INBOX, userName=domainusername, password non-null, pollingInterval=30000, messageSelector=null, maxMessages=1, debug=true, partialFetch=true, forceImapLogin=false)
[Appian MailActivation - 1] ERROR com.appiancorp.process.emailpoller.MailActivation - An error occurred while attempting to open the mailbox to poll; no mail will be fetched.
javax.mail.AuthenticationFailedException: Logon failure: unknown user name or bad password.
In addition to the above error message, it is confirmed that:
conf.mailhandler.poller.EmailHandlerBean.userName
conf.password.EmailHandlerBean.EMAIL_HANDLER
Microsoft Exchange Server email usernames are specified with the format domain\username. However, the \ symbol is a special character in the Simple Mail Transfer Protocol, and it is filtered out when interpreted by Appian in custom.properties.
domain\username
\
This causes the email userName field with format conf.mailhandler.poller.EmailHandlerBean.userName=domain\username to be interpreted as domainusername by Appian. This can be seen in the above error message.
userName
conf.mailhandler.poller.EmailHandlerBean.userName=domain\username
domainusername
conf.mailhandler.poller.EmailHandlerBean.userName=domain\\username
This article applies to Appian 18.2 and later using Microsoft Exchange Server.
Last Reviewed: October 2018