简介
我正在开发应用程序模块,它假设向列表中的用户发送超过1000封电子邮件....
问题
负责发送电子邮件的代码适用于前100封电子邮件,但随后会对此功能抛出异常,
smtp.Send(邮件);
我一直想弄清楚什么是错的,我试过几次 技术(如创建发送电子邮件的延迟,即:50块 每分钟的电子邮件)但当计数达到约100电子邮件,,,, i 遇到这种例外......
代码
m.From = new MailAddress("abcs@gmail.com", "abc");
m.To.Add(new MailAddress(to, ""));
m.Subject = subject;
m.IsBodyHtml = true;
var fromAddress = m.From.Address.ToString();
var toAddress = to;
const string fromPassword = "*****";
//string body = "From: " + message + "\n";
//body = message;
var smtp = new System.Net.Mail.SmtpClient();
{
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
// smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
smtp.Timeout = 200000;
}
smtp.Send(m);
异常
System.Net.Mail.SmtpFailedRecipientsException was caught
HResult=-2146233088
Message=Unable to send to a recipient.
Source=System
FailedRecipient=<abcs@gmail.com>
StackTrace:
at System.Net.Mail.SmtpClient.Send(MailMessage message)
at FlexiAnalysisLib.Common.MailHelper.AnalysisEmailViaAlternateView(String to, String subject, MailMessage m) in c:\beta development\FlexiAnalysisLib\Common\MailHelper.cs:line 553
InnerException: System.Net.Mail.SmtpFailedRecipientException
HResult=-2146233088
Message=Insufficient system storage. The server response was: 4.5.3 Your message has too many recipients. For more information regarding
FailedRecipient=<abcs@gmail.com>
如果有人对此问题有所了解,请帮助......
任何形式的帮助或参考将不胜感激.... 感谢您的时间
答案 0 :(得分:1)
这是您使用的任何电子邮件服务所施加的限制。
Google有一个关于此错误的支持页面,我认为这可以揭示存在此限制的原因:https://support.google.com/mail/answer/22839
由于发送限制而退回的消息
为了打击垃圾邮件并防止滥用,谷歌将暂时停止 如果您向超过500个收件人发送邮件,请禁用您的帐户 或者如果您发送大量无法投递的邮件。如果你使用 POP或IMAP客户端(例如:Microsoft Outlook或Apple Mail),您 可能只能一次向100个人发送消息。你的帐户应该 在24小时内重新启用。
如果您定期与同一群人沟通, 您可能对Google网上论坛感兴趣。
如果您发送了大量无法投递的邮件,我们建议您这样做 验证您的联系人&#39;电子邮件地址。它也很重要 你发送邮件的每个人都愿意收到它。
Learn more关于发送大量邮件的最佳做法 通过Gmail。