提问人:ine 提问时间:9/11/2008 更新时间:9/12/2008 访问量:2906
在 ASP.NET 中发送大量电子邮件的最佳方式是什么?
What is the best way to send large batches of emails in ASP.NET?
问:
我目前正在遍历数据读取器并调用 System.Net.Mail.SmtpClient 的 Send() 方法。这样做的问题是它很慢。每封电子邮件大约需要 5-10 秒才能发送(这可能只是我的主机的问题)。我必须在我的 web.config 文件中覆盖 executionTimeout 默认值(默认为 90 秒),如下所示:
<httpRuntime executionTimeout="3000" />
需要注意的是:我在共享主机上,所以我认为我无法使用 PickupDirectoryFromIis 选项发送(至少,当我打开它时它给了我错误)。
答:
6赞
Espo
9/12/2008
#1
您可以异步发送邮件。这样,超时就不会中断您的发送。
本文应帮助您入门:在 C# 中异步发送电子邮件。
这里还有另一种方法:http://www.vikramlakhotia.com/Sending_Email_asynchronously_in_AspNet_20.aspx
当然,有几个商业客户可用,但我唯一尝试过并可以推荐的是 http://www.aspnetemail.com/
0赞
Ryan Farley
9/12/2008
#2
一定要在后台工作进程上生成它,以便它们异步输出。
顺便说一句,每封电子邮件 5-10 秒对我来说似乎很慢。在我的服务器上,每封电子邮件只需要几分之一秒。
评论