我有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;
}
}
任何人都知道如何实现这个问题?
答案 0 :(得分:0)
呀。不要使用谷歌。就像那样。
Gmail不喜欢批量电子邮件,而且您已经在提供商处构建了基础架构堆栈,而您的要求不受欢迎。但是,这表明这显示了你方面的疏忽,它也会让你进入一个你无法在不改变堆栈的情况下解决问题的地方。
无论是hostyour自己的电子邮件服务器还是寻找批量邮件服务(我不会在这里命名,您使用谷歌 - 这里不欢迎产品推荐)。
GOogle不希望您在短时间内发送大量邮件,所以请继续使用。