我参与了SMTP错误处理问题。每当发生SMTPSendFailedException时,我需要重新建立连接。你能否建议我如何以编程方式处理这个问题?
日志中的错误代码:
com.sun.mail.smtp.SMTPSendFailedException: 451 Internal error
谢谢, enthiran
答案 0 :(得分:0)
尝试围绕try-catch块中的方法调用,如下所示:
private int numOfTries = 0;
public void doStuff() {
try {
connectAndCall();
} catch(SMTPSendFailedException e) {
System.err.println("Something went wrong, try again. The error was: " + e.getMessage());
numOfTries ++;
if(numOfTries <= 5) {
doStuff();
}
}
}
我使用numOfTries
变量确保它不会永远保持调用并锁定您的应用程序,但您可以增加或减少允许的尝试次数。