尝试使用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
,也可以查看此
有一次我遇到了同样的错误,发现端口25被我在系统中安装的防病毒软件阻止了。我刚刚禁用了它。如果你的smtp托管在其他机器上,或者它是第三方托管,那么你必须澄清端口25是否被解锁。