SmtpException同时发送大量3个或更多的邮件

时间:2013-08-07 10:21:19

标签: c# smtpclient

我正在使用SmtpClient发送电子邮件。我使用相同的代码进行过去2年,但从最后一天发送3封或更多电子邮件后,其中一封会失败。当我再次发送失败的邮件时它将被发送出去。请帮助我,我正在使用aibn.com邮件服务器。

 public bool SendMail(string p_strFrom, string p_strDisplayName, string p_strTo, string p_strSubject, string p_strMessage , string strFileName)
     {
         try
         {
             p_strDisplayName = _DisplayName;
             string smtpserver = _SmtpServer;
             SmtpClient smtpClient = new SmtpClient();
             MailMessage message = new MailMessage();
             MailAddress fromAddress = new MailAddress(_From,_DisplayName);
             smtpClient.Host = _SmtpServer;
             smtpClient.Port = Convert.ToInt32(_Port);
             string strAuth_UserName = _UserName;
             string strAuth_Password = _Password;
             if (strAuth_UserName != null)
             {
                 System.Net.NetworkCredential SMTPUserInfo = new System.Net.NetworkCredential(strAuth_UserName, strAuth_Password);
                 smtpClient.UseDefaultCredentials = false;
                 if (_SSL)
                 {
                     smtpClient.EnableSsl = true;
                 }
                 smtpClient.Credentials = SMTPUserInfo;
             }
             message.From = fromAddress;

             message.Subject = p_strSubject;
             message.IsBodyHtml = true;
             message.Body = p_strMessage;
             message.To.Add(p_strTo);
             try
             {
                 smtpClient.Send(message);
                 Log.WriteSpecialLog("smtpClient mail sending first try success", "");
             }
              catch (Exception ee)
             {
                 Log.WriteSpecialLog("smtpClient mail sending first try Failed : " + ee.ToString(), "");
                 return false;
             }
             return true;
         }
         catch (Exception ex)
         {
             Log.WriteLog("smtpClient mail sending overall failed : " + ex.ToString());  
             return false;
         }
     }

收到以下错误消息

smtpClient mail sending Failed : 
        System.Net.Mail.SmtpException: 
                         Failure sending mail.
        System.NullReferenceException: 
                         Object reference not set to an instance of an object.
       at System.Net.Mail.SmtpConnection.GetConnection(String host, Int32 port)
       at System.Net.Mail.SmtpClient.Send(MailMessage message)
       --- End of Inner Exception Stack Trace ---
       at System.Net.Mail.SmtpClient.Send(MailMessage message)

1 个答案:

答案 0 :(得分:0)

我已经更改了我的邮件服务器,现在工作正常。可能是因为某些邮件服务限制可以防止洪水和/或垃圾邮件。