我们正在使用asp.net 3.5与c#.我们必须制作一个强大的邮件模块.该模块可以邮寄超过15000个收件人或简短的DBMS中的所有记录.我想问几件事情.
1)我们有一个邮件发送到单个收件人的代码.我们如何发送邮件到多个收件人.我尝试使用我们的代码添加多个电子邮件ID”,但它只发送第一个电子邮件id.Here是代码示例
public bool Mail(string to,string subject,string body) { try { MailMessage objEmail = new MailMessage(); objEmail.To =to; objEmail.From = "Support@xyz.com"; //objEmail.Priority =priority objEmail.Subject = subject; objEmail.Body = body; //enable the Html tag... objEmail.BodyFormat = MailFormat.Html; objEmail.Priority = MailPriority.High; SmtpMail.SmtpServer = "localhost"; try { SmtpMail.Send(objEmail); return true; } catch(Exception ex) { string error = ex.StackTrace; return false; } } catch { return false; } }
2)一次发送邮件的最大限制是多少?我们可以在包含邮箱中的字符串中指定多少值?
3)我们的代码中的一个主要的是按钮点击,所以如果我们有超过15000个记录,所以它能够发送邮件,因为我们正在想的是该页面将有60秒渲染,所以它可能会发送邮件只有那些id覆盖在60秒内
让我们建议什么是最好的方式来做到这一点.
提前致谢.
解决方法
不要使用System.Web.Mail.使用System.Net.Mail.见这
blog.
系统不建议使用System.Web.Mail.
您需要将工作传递到实际的邮件服务器/服务上.第三方是您的最佳选择.不要直接从网络应用程序代码发送电子邮件,因为请求超时,身份验证超时等将最终停止发送循环.此外,此过程将锁定当前的页面/会话,直到它完成/停止,并且当页面执行繁重的任务时,我也经历了所有访问者的整个应用程序锁定.
如果您想要的是一个便宜的电子邮件服务器,您可以将电子邮件添加到队列中,并且服务器将通过它们发送并发送,那么Amazon SES值得一看.如果您想要更多的用户管理和广告系列管理工具,那么MailChimp或JangoMail可能是您的最佳选择.
亚马逊SES绝对是最便宜的,因为您只需支付您使用的费用.我每个月平均花费4块钱.
所有这些都提供了您可以在代码中使用的API.
另外:确保您的收件人以某种方式请求或以其他方式预期这些电子邮件.发送垃圾邮件是非法的,惩罚是苛刻的.
资源
还请查看以下问题:
> How do you send mass emails from ASP.NET?
> How to send 100,000 emails weekly?