Skip to main content
 首页 » 编程设计

c#之发送电子邮件的后台任务

2024年02月01日37leader

MVC 5.1、.NET 4.5

在我们的简单网站中,我们需要发送电子邮件。我们的电子邮件服务由回发事件调用,它发送电子邮件,然后构建结果页面并返回它。

这会减慢页面速度,因为页面必须等待发送同步电子邮件。

如果我们在不同的线程中运行电子邮件,网站是否可以继续创建页面并在处理电子邮件时将其返回给用户,或者长时间运行的任务是否会导致页面无法呈现。

基本上,出于性能原因,我可以发送非阻塞电子邮件吗?

注意:我们无法将电子邮件请求发送到服务或其他系统。

请您参考如下方法:

假设您使用内置的SmtpClient,您可以使用SmtpClient.SendMailAsync方法

smtpClient.SendMailAsync(new MailMessage{ ... }); 

Sends the specified message to an SMTP server for delivery as an asynchronous operation