Gna*_*nam 5 java email exception-handling exception jakarta-mail
我正在使用JavaMail向SMTP服务器发送电子邮件请求.
我想在我的代码中设置"mail.smtp.connectiontimeout"和"mail.smtp.timeout"属性.
从编程方面来说,我希望在Java中达到超时和/或connectiontimeout操作时捕获它们并相应地处理事情.在这个意义上的处理,我需要在下次再次重试相同的电子邮件.
我如何在Java/JavaMail中处理这个问题?是否可以捕获并处理此超时操作?
编辑
此外,假设我已完成对SMTP服务器的管理访问,是否可以自己模拟/重现此超时操作?
回答你的第二个问题:在你的测试机器上,只需使用 iptables 删除所有到 SMTP 服务器的传出连接:
iptables -I OUTPUT 1 -p tcp -s 192.168.1.20 --dport 25 -j DROP
Run Code Online (Sandbox Code Playgroud)
这样它看起来确实像一个无响应的 smtp 服务器,您可以测试您的异常处理。