我遇到一个问题,JAVA 邮件(JavaMail 版本 1.5.3)在发送电子邮件时抛出“未连接”异常,但电子邮件确实已发送出去。我从 4 周前就开始遇到这个问题了。该问题似乎主要与托管交换服务器有关。异常情况如下:
java.lang.IllegalStateException: Not connected 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 推出了更新,因为代码多年来一直运行良好。
提前致谢!!!
最佳答案
如果您“池化”传输对象以便可以重用它,则服务器可能会由于不活动而断开连接。
至于为什么即使收到此异常消息仍然发送,您的应用程序必须在收到异常后执行某些操作来重新连接。
关于Java Mail未连接异常,但电子邮件已发出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53085740/