使用ASP.Net发送大量电子邮件的最佳方法是什么?
例如,网站管理员需要向该网站所有用户发送电子邮件(例如新闻通讯)。
在ASP.Net 3.5和C#中,最佳的方法是什么?
根据Troy的评论进行编辑。
你应该使用外部进程来发送电子邮件。如果你的邮件列表增长到几百个,你很快就会遇到超时问题。一旦你进入那些包含千万条记录的列表,仅使用ASP.Net是没有可行解决方案的。
实际上,我开发了一个Windows服务来处理群发邮件。在ASP.Net中,我创建了一个活动和各种数据库记录的批处理作业,然后插入收件人列表。一旦作业完全写入数据库,它的状态就会改变,以便Windows服务知道它可以开始处理作业。然后ASP.Net站点可以随时查看记录,以确定服务已经完成了多少工作。
如果我自己写这个程序,我会从数据库获取电子邮件地址,并使用System.Net.Mail.SmtpClient类进行循环。
但是,请确保您了解CAN-SPAM法案并遵循相关指南。
请看这个链接 >>>> 使用ASP.Net发送大量电子邮件 源代码是VB.Net,但由于MFCL相同,您可以轻松地将代码更改为CSharp。然而,aspx部分仍然保持不变。