如何向15000多个收件人发送邮件?

Pra*_*uja 11 .net c# asp.net massmail

我们正在使用带有c#的asp.net 3.5.我们必须制作一个功能强大的邮件模块.这个模块可以邮寄超过15000个收件人或简称DBMS中的所有记录.我想问几件事.

1)我们有一个代码向单个收件人发送邮件.我们如何向多个收件人发送邮件.我尝试用我们的代码添加多个电子邮件ID','但它只发送第一个电子邮件ID.这是代码示例

 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;
            }
        }
Run Code Online (Sandbox Code Playgroud)

2)一次发送邮件的最大限制是多少.我们可以在字符串中为包含emailid的值分配多少值?

3)我们的代码在按钮点击中的一个主要内容是,如果我们有超过15000条记录,那么它是否能够发送到所有邮件因为我们所想的是该页面将有60秒进行渲染所以它可能只发送邮件那些ids封面在60秒.

让我们建议最好的方法是什么.

提前致谢.

Che*_*hev 10

不要使用System.Web.Mail.使用System.Net.Mail.看到这个博客.

不推荐使用System.Web.Mail,不推荐使用.

您需要将工作传递到实际的邮件服务器/服务.第三方是您的最佳选择.不要直接从Web应用程序代码发送电子邮件,因为请求超时,身份验证超时等最终将停止发送循环.此外,此过程将锁定当前页面/会话,直到完成/暂停,并且当页面执行此类繁重任务时,我还遇到了所有访问者锁定的所有应用程序.

如果您想要的只是一个廉价的电子邮件服务器,您可以将电子邮件添加到队列中,服务器只需通过它们并发送它们,那么Amazon SES值得一看.如果您需要更多用户管理和活动管理工具,那么MailChimpJangoMail可能是您的最佳选择.

亚马逊SES绝对是最便宜的,因为您只需支付使用的费用.我平均每个月花4块钱.

所有这些都提供了可以在代码中使用的API.

除此之外:确保您的收件人以某种方式请求或以其他方式期待这些电子邮件.发送垃圾邮件是非法的,惩罚是严厉的.

资源

另请查看以下问题: