Send mail gives EmailSendException

Hello everyone.
I'm new to Appian. My problem happens when I try to run a process model containing only a "send mail" task. It's configured to send mail to only one recipient.
I've configured custom.properties as described into the documentation but despite I am using plain SMTP (and not SMTPS) on port 25, into the application-server.log is reported:

ERROR com.appiancorp.ap2.mail.Mail - Could not send mail via 192.168.1.252:25 to <mail@address.com>
[Appian Work Item - 182 - ProcessExec00 : UnattendedJavaActivityRequest] ERROR com.appiancorp.process.runtime.activities.SendEmailActivity - javax.mail.MessagingException: Could not convert socket to TLS;
nested exception is:
          javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
javax....

OriginalPostID-243175

  Discussion posts and replies are publicly visible

  • ...mail.MessagingException: Could not convert socket to TLS;
    nested exception is:
              javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

    where <mail@address.com> is an existing address and 192.168.1.252 is the IP of the SMTP server.

    Any ideas?

    Thank you in advance!
  • 0
    Certified Lead Developer
    Is this property set as
    conf.mailhandler.mail.smtp.starttls.enable=true

    forum.appian.com/.../Mail_Server_Setup.html
  • thanks for your answer!
    Yes, these are the properties i have set:

    conf.mailhandler.mail.smtp.host=192.168.1.252
    conf.suite.MAIL_SCHEME=http
    conf.suite.MAIL_SERVER_AND_PORT=localhost:8080
    conf.mailhandler.mail.transport.protocol=smtp
    conf.mailhandler.mail.smtp.auth=false
    conf.mailhandler.mail.smtp.starttls.enable=true
  • ....now it works. Also with (maybe better in my case since i am not using secure connection) conf.mailhandler.mail.smtp.starttls.enable=false
    Thank you so much!!!! :)
  • Hi,

    We also getting the same issue. In Non prod environment it is working with issue. But in Production it is not working.

    2016-11-17 10:38:35,276 [default-threads - 35] ERROR com.appiancorp.ra.workpoller.WorkItemListener - The following exception occurred while attempting to complete work item [(WorkId: 51, WorkType: MailRequest{subjectWithoutPrefix=Important System Information, subject=, body=MailBody{filename=/ntf/emailHtml/portalSystem_emailHtml.jsp}, from=alerts-qa@anz.com, toUsernames=[ferrarit], to=}, Response: null, ServerName: NotificationsEmail)] - Exception:
    javax.resource.spi.work.WorkCompletedException: java.lang.RuntimeException: Could not prepare email for: CompatibleEmailRecipients{locale=en_GB, timeZone=Australia/Melbourne, calendarId=gregorian, emailAddresses=[Thaila.Ferrari@anz.com]}
              at org.jboss.jca.core.workmanager.WorkWrapper.run(WorkWrapper.java:224)
              at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33)
              at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:808)
              at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45)
              at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:828)
              at java.lang.Thread.run(Thread.java:745)
              at org.jboss.threads.JBossThread.run(JBossThread.java:122)
    Caused by: javax.ejb.EJBException: java.lang.RuntimeException: Could not prepare email for: CompatibleEmailRecipients{locale=en_GB, timeZone=Australia/Melbourne, calendarId=gregorian, emailAddresses=[Thaila.Ferrari@anz.com]}
              at org.jboss.as.ejb3.tx.BMTInterceptor.handleException(BMTInterceptor.java:85)
              at org.jboss.as.ejb3.tx.EjbBMTInterceptor.checkStatelessDone(EjbBMTInterceptor.java:92)
              at org.jboss.as.ejb3.tx.EjbBMTInterceptor.handleInvocation(EjbBMTInterceptor.java:107)
              at org.jboss.as.ejb3.tx.BMTInterceptor.processInvocation(BMTInterceptor.java:60)
              at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
              at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)
              at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
              at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
              at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53)
              at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
              at org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51)
              at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
              at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
              at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
              at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:43)
              at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
              at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)
              at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
              at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59)
              at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
              at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
              at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
              at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:55)
              at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
              at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponentDescription$5$1.processInvocation(MessageDrivenComponentDescription.java:203)
              at org.jboss.invocation.Interc
  • Could any one suggest what could be the issue?

    conf.mailhandler.mail.smtp.host=IP Address
    conf.suite.MAIL_SCHEME=https
    conf.suite.MAIL_SERVER_AND_PORT=FQDN:8443
    conf.mailhandler.mail.transport.protocol=smtp
    conf.mailhandler.mail.smtp.starttls.enable=true
  • @sudhirp712 - Hi, Could you please suggest how you resolved this issue.