Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net VB.NET网页中的电子邮件失败_Asp.net_Vb.net_Email - Fatal编程技术网

Asp.net VB.NET网页中的电子邮件失败

Asp.net VB.NET网页中的电子邮件失败,asp.net,vb.net,email,Asp.net,Vb.net,Email,我们公司有一个订单页面,该页面的代码隐藏在使用SmtpClient类发送订单确认电子邮件的代码中。它很好用。问题是,当我们的exchange服务器出现故障时,电子邮件发送事件会出错。我们捕获并记录它,然后以另一种方式通知客户。这通常是由于我们的备份服务器运行导致电子邮件发送问题时有发生。我们怎么能让电子邮件每30分钟再试一次?我应该注意的是,我们所有的代码都在我们的页面中,因此我们考虑创建一个单独的电子邮件类,该类将允许页面在后台调用和处理请求,并允许页面完成加载。任何建议都将不胜感激。您可以有

我们公司有一个订单页面,该页面的代码隐藏在使用SmtpClient类发送订单确认电子邮件的代码中。它很好用。问题是,当我们的exchange服务器出现故障时,电子邮件发送事件会出错。我们捕获并记录它,然后以另一种方式通知客户。这通常是由于我们的备份服务器运行导致电子邮件发送问题时有发生。我们怎么能让电子邮件每30分钟再试一次?我应该注意的是,我们所有的代码都在我们的页面中,因此我们考虑创建一个单独的电子邮件类,该类将允许页面在后台调用和处理请求,并允许页面完成加载。任何建议都将不胜感激。

您可以有一个计时器,在每次电子邮件发送失败时启动,每三十分钟检查并尝试发送一次电子邮件,如果能够发送,计时器将停止。然而,如果有很多电子邮件,这可能会对你的系统造成负担

编辑


您可以将失败的电子邮件添加到列表或数据库中。您可以在代码中添加一个函数,或者制作一个新的应用程序,用于检查失败电子邮件的时间和上次尝试发送的时间。如果时间>=30分钟,尝试再次发送这些电子邮件

有很多方法可以做你想做的事情,但是很难在不知道你现在拥有什么的情况下提出想法。