如何在Java中以编程方式处理SMTPSendFailedException

时间:2017-06-14 03:16:13

标签: java email smtp

我参与了SMTP错误处理问题。每当发生SMTPSendFailedException时,我需要重新建立连接。你能否建议我如何以编程方式处理这个问题?

日志中的错误代码:

        com.sun.mail.smtp.SMTPSendFailedException: 451 Internal error

谢谢, enthiran

1 个答案:

答案 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变量确保它不会永远保持调用并锁定您的应用程序,但您可以增加或减少允许的尝试次数。