繁体   English   中英

无法发送给收件人:c# 异常

[英]Unable to send to a recipient : c# exception

介绍

我正在研究应用程序模块,该模块假设向列表中的用户发送 1000 多封电子邮件....

问题

负责发送电子邮件的代码在前 100 封电子邮件中工作正常,但随后在此函数上引发异常,

smtp.Send(mail);

我一直试图找出问题所在,我尝试了几种技术(例如在发送电子邮件时造成延迟,即:每分钟 50 封电子邮件的块)但是当计数达到大约 100 封电子邮件时,我遇到了这个异常....

代码

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>

如果有人对这个问题有想法,请帮助...

任何形式的帮助或参考将不胜感激....感谢您的时间

这是您使用的任何电子邮件服务所施加的限制。

谷歌有一个关于这个错误的支持页面,我认为它揭示了这个限制存在的原因: https : //support.google.com/mail/answer/22839

由于发送限制消息被退回

为了打击垃圾邮件和防止滥用,如果您向超过 500 个收件人发送邮件或发送大量无法送达的邮件,Google 将暂时停用您的帐户。 如果您使用 POP 或 IMAP 客户端(例如:Microsoft Outlook 或 Apple Mail),您一次只能向 100 人发送消息。 您的帐户应在 24 小时内重新启用。

如果您经常与同一群人交流,您可能会对 Google 网上论坛感兴趣。

如果您发送大量无法送达的邮件,我们建议您验证联系人的电子邮件地址。 同样重要的是,您要向其发送邮件的每个人都愿意接收它。

详细了解通过 Gmail 发送大量邮件的最佳做法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM