尝试使用smtp发送邮件时出错

本文关键字:出错 smtp | 更新日期: 2023-09-27 18:28:30

当我尝试使用smtp发送消息时,收到了以下错误消息。

连接尝试失败是因为连接方在一段时间后没有正确响应,或者建立的连接失败是因为所连接的主机没有响应67.69.240.69:25System.Net.WebException:无法连接到远程服务器--->System.Net.Sockets.SocketException:连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接的主机没有响应而建立的连接失败67.69.240.69:25位于System.Net.Socket.Socket.DoConnect(端点endPointSnapshot,SocketAddress SocketAddress)在System.Net.ServicePoint.ConnectSocketInternal(布尔连接失败、套接字s4、套接字s6、套接字和套接字、IPAddress和地址、ConnectSocketState状态、IAsyncResult asyncResult、Int32超时、异常和异常)---内部异常堆栈跟踪结束---在System.Net.ServicePoint.GetConnection(PooledStream PooledStream,对象所有者,布尔异步,IPAddress&address,Socket&abortSocket,Socket''abortSocket6,Int32超时)在System.Net.PooledStream.Activate(对象owningObject、布尔异步、Int32超时、GeneralAsyncDelegate异步回调)在System.Net.PooledStream.Activate(Object owningObject,GeneralAsyncDelegate asyncCallback)在System.Net.ConnectionPool.GetConnection(Object owningObject、GeneralAsyncDelegate asyncCallback、Int32 creationTimeout)位于System.Net.Mail.SmtpConnection.GetConnection(字符串主机,Int32端口)位于System.Net.Mail.SmtpClient.Send(MailMessage消息)---内部异常堆栈跟踪结束---位于System.Net.Mail.SmtpClient.Send(MailMessage消息)在Handler.BLL.cSendMail.SendMail(字符串p_strFrom、字符串p_strDisplayName、字符串p_trTo、字符串p_strSubject、字符串p_stryMessage、字符串strFileName)[staffID:2013年8月21日上午9:49:34]:状态代码:常规故障

代码

   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;
     }
 }

当3封或多封邮件发送只有一封或两封失败时

我认为这与端口设置有关

尝试设置Port to 587而不是port 25,也可以查看此

尝试使用smtp发送邮件时出错

有一次我遇到了同样的错误,发现端口25被我在系统中安装的防病毒软件阻止了。我刚刚禁用了它。如果你的smtp托管在其他机器上,或者它是第三方托管,那么你必须澄清端口25是否被解锁。