只需点击一下按钮,就可以向200多个收件人发送不同的电子邮件

时间:2014-03-19 06:25:14

标签: c# asp.net

我有asp.net应用程序,我需要发送日期通知(通过一键按钮)到200多个收件人,每个人都有不同的日期,我发了邮件发送的方法,但我想如果我在 for循环超过200次可能是邮件被GMAIL阻止

在那里发送邮件的方法:

public static bool SendRtLMail(string TO,string FROM,string DisplayName,string SUBJECT,string BODY,string HOST,string USERNAME,string PASSWORD)
        {
            MailMessage mail = new MailMessage();
            if (TO != "")
                mail.To.Add(TO);
            //mail.To.Add("Another Email ID where you wanna send same email");
mail.From = new MailAddress(FROM,DisplayName,System.Text.Encoding.Default);
            mail.Subject = SUBJECT;
            mail.SubjectEncoding = System.Text.Encoding.Default;
            //mail.SubjectEncoding = System.Text.Encoding.UTF8;
            mail.IsBodyHtml = true;
            string Body = BODY ;
            mail.Body = Body;

            mail.IsBodyHtml = true;
            SmtpClient smtp = new SmtpClient();
            smtp.Host = HOST; //"smtp.gmail.com"; //Or Your SMTP Server Address
            smtp.Port = 587;
            smtp.Credentials = new System.Net.NetworkCredential(USERNAME,PASSWORD);
            //Or your Smtp Email ID and Password
            smtp.EnableSsl = true;
            smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
            try
            {
                smtp.Send(mail);
                return true;
            }
            catch(Exception ex)
            {
                return false;
            }
        }

任何人都知道如何实现这个问题?

1 个答案:

答案 0 :(得分:0)

呀。不要使用谷歌。就像那样。

Gmail不喜欢批量电子邮件,而且您已经在提供商处构建了基础架构堆栈,而您的要求不受欢迎。但是,这表明这显示了你方面的疏忽,它也会让你进入一个你无法在不改变堆栈的情况下解决问题的地方。

无论是hostyour自己的电子邮件服务器还是寻找批量邮件服务(我不会在这里命名,您使用谷歌 - 这里不欢迎产品推荐)。

GOogle不希望您在短时间内发送大量邮件,所以请继续使用。