在asp.net中重试通过c#发送的失败消息



我们使用Office 365 SMTP AUTH客户端提交方式发送邮件消息,但是有些消息发送失败,返回错误" failed to send message ";是否有通过代码,我可以尝试和重新发送这些消息,直到电子邮件发送。

在某种程度上,我是不会这么做的,除非它成功了。因为这是非常危险的,但可以很容易地实现代码:

while(true)
{
try
{
SendEmail();
break;
}
catch(Exception ex)
{

}
}

现在考虑-如果电子邮件提供商/服务器关闭了怎么办?你的应用程序会挂起,直到服务器开始正常工作。

您需要设置一些阈值和重试策略—例如—在第一次失败后等待5秒并重试,在第二次失败后等待30秒并重试,等等。第5次失败后,终止进程或执行其他操作。

最新更新