使用异步时发送电子邮件的未知失败
本文关键字:电子邮件 未知 失败 异步 | 更新日期: 2023-09-27 18:24:01
我有一个网站,需要发送一封关于特定操作的电子邮件。
var mail = new MailMessage("donotreply@mycompany.com",
"myself@mycompany.com", "Generic Subject Title",
string.Format("Some body content");
using (var eServer = new SmtpClient("mailsrv.mycompany.com"))
{
eServer.Send(mail);
}
上面的代码运行良好,尽管发送功能需要8-15秒才能完成,但几秒钟后我就会收到电子邮件。我想至少消除页面响应中的延迟。
using (var eServer = new SmtpClient("mailsrv.mycompany.com"))
{
eServer.SendMailAsync(mail);
}
当使用上面的页面时,我的页面加载很快,并完成了所有其他过程,但我从未收到电子邮件。
有人知道为什么仅仅因为我使用异步版本就不会收到电子邮件吗?
由于使用块,您在'eServer'变量有机会实际发送邮件之前就将其处理掉。如果使用SendMailAsync,则不应在之后直接处置SmtpClient。