我有以下代码已经好几个月工作但突然停止在这一行上工作:
smtpClient.Send(msg);
这是一个内部应用程序,向我公司的内部人员发送电子邮件
出现以下错误:
邮箱不可用。服务器响应为:5.7.1无法中继ABC@comp.com
任何人都可以想到为什么这段代码能够在很长时间内正常工作并突然停止工作的原因?
MailMessage msg = new MailMessage();
msg.From = new MailAddress(fromEmailAddress_);
msg.IsBodyHtml = true;
msg.To.Add(new MailAddress(email.Trim()));
msg.Subject = subject_;
msg.Body = body_;
msg.IsBodyHtml = true;
msg.Priority = MailPriority.High;
var smtpClient = new SmtpClient(_mailServer);
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = new System.Net.NetworkCredential(_user, _pwd);
try
{
smtpClient.Send(msg);
}
catch (Exception ex)
{
Console.Write(ex.Message);
}
答案 0 :(得分:8)
您连接的邮件服务器已经收紧,不允许中继您的凭据或从您的网络/ IP中继。这不是代码问题(不是更改SMTP服务器),而是管理您正在使用的SMTP服务器的任何人的问题。
答案 1 :(得分:0)
除了检查确保smtp服务正在运行之外,您还可以尝试以下操作:
尝试将SmtpDeliveryMethod枚举设置为PickupDirectoryFromIis。
http://msdn.microsoft.com/en-us/library/system.net.mail.smtpdeliverymethod.aspx