如何在 return 恢复互联网连接 java 时发送电子邮件?

How to send an email when internet connection return back in java?

我正在做一个项目,需要下载一些文件。如果互联网连接出现问题,则会捕获异常。发生这种情况时,我应该向某些人发送电子邮件。

我需要发送电子邮件,但没有互联网连接,所以我有两个想法:

1- 尝试发送电子邮件,但因为我没有连接,所以我需要保存电子邮件,直到连接 return 返回并再次发送。

2- 发帖检查网络是否稳定,如果网络稳定我会发送邮件。

我有另一个想法,就是做一个无限循环来检查互联网连接并发送电子邮件,并在连接恢复时结束循环。

有人可以帮忙吗?

确实没有必要添加对稳定互联网连接的检查。继续尝试发送电子邮件,直到成功为止。您的电子邮件通知线程的逻辑似乎非常简单:

long RETRY_DELAY = 60*1000;
boolean emailSent = false;
while(!emailSent ) {
    emailSent = sendEmail();
    if (!emailSent) {
        Thread.sleep(RETRY_DELAY);
    }
}

如果发送电子邮件有任何问题,sendEmail() 方法应该 return false。例如。与网络相关的例外情况。

您可以在其他对象中设置最终状态,并添加最大重试次数,或继续重试的最大时间长度,直到您放弃等。这些只会添加更多条件来终止循环。如果有手动中止,您也可以中断该电子邮件线程。