我遇到一个问题,在发送电子邮件消息时,JAVA邮件(JavaMail版本1.5.3)抛出了Not Connected异常,并且电子邮件确实发出了。自4周前以来,我一直在遇到这种情况。该问题似乎主要与托管的交换服务器有关。例外如下:
java.lang.IllegalStateException:未连接 com.sun.mail.smtp.SMTPTransport.checkConnected(SMTPTransport.java:2355) com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1151) com.email.sender.EmailSenderThread.sendEmailMessages(EmailSenderThread.java:127) com.email.sender.EmailSenderThread.threadProcess(EmailSenderThread.java:59) com.email.util.PhaseThread.run(PhaseThread.java:40) java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511) java.util.concurrent.FutureTask.run(FutureTask.java:266) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617) java.lang.Thread.run(Thread.java:748)
我正在为异常获取调试日志,但是我只是想知道如何避免这种情况以及是否有更新发布到Exchange,因为该代码已经运行了好几年了。
先谢谢了!
答案 0 :(得分:1)
如果要“合并”传输对象以便可以重用,则服务器可能由于不活动而断开了连接。
关于即使在收到此异常后仍仍发送消息的原因,您的应用程序在获得异常后必须做一些重新连接的操作。