search cancel

eMail notification fails with Failed to convert to JAVA MAIL

book

Article ID: 133383

calendar_today

Updated On:

Products

CA Service Desk Manager

Issue/Introduction

An email notification fails with a conversion error when the email address contains a non-English-alphabetic character.  You may find that the associated email file stays in $NX_ROOT\site\mail_queue and delivery is attempted indefinitely.


An example of the messages written to the $NX_ROOT\log\mail_nxd.log file are as follows:

 

2019-06-13 07:07:46:776 INFO [ForkJoinPool.commonPool-worker-3] c.c.S.m.MessageProcessorActorSystem - Mail Stats: Received(0) Sent(0) In Queue(0) In Work(0) Max Active Sessions(0) Errors(0) Invalid Msgs(0) Tracing(No) 
2019-06-13 07:07:46:776 INFO 11:07:46.775UTC [mailNxdActorSystem-akka.actor.default-dispatcher-1879] c.c.S.m.MessageProcessorChildActor - Get Max Active Sessions call received.
2019-06-13 07:13:20:716 INFO 11:13:20.715UTC [mailNxdActorSystem-akka.actor.default-dispatcher-1883] c.c.S.m.MessageProcessorChildActor - createReceive() called....
2019-06-13 07:13:20:895 ERROR [mailNxdActorSystem-akka.actor.default-dispatcher-1884] c.c.S.m.NXMessageToTargetMessageConverter - Failed to convert to JAVA MAIL
javax.mail.internet.AddressException: Local address contains control or whitespace 
 at javax.mail.internet.InternetAddress.checkAddress(InternetAddress.java:1256) 
 at javax.mail.internet.InternetAddress.parse(InternetAddress.java:1116) 
 at javax.mail.internet.InternetAddress.parse(InternetAddress.java:655) 
 at javax.mail.internet.InternetAddress.<init>(InternetAddress.java:115) 
 at com.ca.ServicePlus.mailer.JavaMailSession.getAddresses(JavaMailSession.java:306) 
 at com.ca.ServicePlus.mailer.JavaMailSession.finishPrepInfo(JavaMailSession.java:318) 
 at com.ca.ServicePlus.mailer.JavaMailSession.setMailInfo(JavaMailSession.java:297) 
 at com.ca.ServicePlus.mailer.NXMessageToTargetMessageConverter.convertToJavaMailMessage(NXMessageToTargetMessageConverter.java:57) 
 at com.ca.ServicePlus.mail.connection.JavaMailSMTPClient.sendMail(JavaMailSMTPClient.java:296) 
 at com.ca.ServicePlus.mailer.NXJavaMailMailer.sendMailToMailServer(NXJavaMailMailer.java:144) 
 at com.ca.ServicePlus.mailer.NXMailMailerActor.lambda$createReceive$1(NXMailMailerActor.java:116) 
 at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:26) 
 at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:21) 
 at scala.PartialFunction$class.applyOrElse(PartialFunction.scala:123) 
 at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:21) 
 at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:170) 
 at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:171) 
 at akka.actor.Actor$class.aroundReceive(Actor.scala:513) 
 at akka.actor.AbstractActor.aroundReceive(AbstractActor.scala:132) 
 at akka.actor.ActorCell.receiveMessage(ActorCell.scala:527) 
 at akka.actor.ActorCell.invoke(ActorCell.scala:496) 
 at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257) 
 at akka.dispatch.Mailbox.run(Mailbox.scala:224) 
 at akka.dispatch.Mailbox.exec(Mailbox.scala:234) 
 at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) 
 at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) 
 at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 
 at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

Environment

Release : 17.1

Component : SERVICE DESK MANAGER

Resolution

For version 17.1, apply rollup patch #3 (and its prerequisites).


If the issue persists or you are unable to apply RU3, the following steps may be a work-around:


1. Download the latest release of JavaMail, which is 1.6.2 from "https://javaee.github.io/javamail/". The name of the downloaded file is "javax.mail.jar". 


2. Copy the downloaded javax.mail.jar into "C:\PROGRA~2\CA\SERVIC~1\java\lib\". 


3. Stop the CA Service Desk Manager service on the server. 


4. Archive the existing C:\PROGRA~2\CA\SERVIC~1\java\lib\javax.mail-1.5.6.jar 

Note: You could create a subdirectory named "archive" and move the file into it.


5. Copy javax.mail.jar into C:\PROGRA~2\CA\SERVIC~1\java\lib\. 


6. Suggestion: Make a copy of javax.mail.jar and give it the name "javax.mail-1.6.2.jar". 


7. Rename javax.mail.jar to javax.mail-1.5.6.jar. 

 Note: naming the 1.6.2 version to 1.5.6 is necessary although not ideal - the new name is misleading of the actual version


8. stop the CA SDM service 

9. start CA SDM service

Additional Information

JavaMail:  https://javaee.github.io/javamail/