【问题标题】:Java Mail Not connected exception, but email sent outJava Mail 未连接异常,但已发送电子邮件
【发布时间】:2023-03-25 20:37:01
【问题描述】:

我遇到了一个问题,即 JAVA 邮件(JavaMail 版本 1.5.3)在发送电子邮件消息时抛出未连接异常并且电子邮件确实已发送出去。自 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,因为代码多年来一直运行良好。

提前致谢!!!

【问题讨论】:

    标签: java email jakarta-mail


    【解决方案1】:

    如果您将 Transport 对象“池化”以使其可以重复使用,则服务器可能由于不活动而断开连接。

    至于为什么即使你得到这个异常仍然发送消息,你的应用程序必须在得到异常后做一些事情才能重新连接。

    【讨论】:

      猜你喜欢
      • 2020-04-19
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      • 2015-06-30
      • 1970-01-01
      • 2020-04-19
      • 2014-10-08
      • 2014-09-06
      相关资源
      最近更新 更多