当我在代码中尝试向特定地址发送电子邮件时,出现以下错误:
System.Net.Mail.SmtpFailedRecipientException: 邮箱不可用。服务器响应为:未知用户。
我的代码向两个电子邮件地址发送电子邮件,一个是我的,另一个是我的同事的。邮件能够成功发送到我的邮箱,但在尝试发送邮件到同事的邮箱时,我收到了上述错误信息。
我查看了一些资料,通常情况下,这种错误的常见解释是电子邮件地址无效,或者该邮箱已满且不允许接收邮件,或者服务器上有某些限制,禁止接收电子邮件。
但该电子邮件地址可以接收邮件,因为我正在通过电子邮件与同事来往交流。
还有其他可能会导致这种错误出现的原因吗?
编辑:
下面是代码,请帮忙检测是否存在问题。我已经检查了传递的参数,所有数据都是正确的。
private static void SendEmail(IEnumerable<MailAddress> to, MailAddress from,
string subject, string body, string bodyHtml)
{
var mail = new MailMessage { From = from, Subject = subject };
foreach (var address in to)
{
mail.To.Add(address);
}
mail.AlternateViews.Add(
AlternateView.CreateAlternateViewFromString(bodyHtml, null, "text/html"));
mail.AlternateViews.Add(
AlternateView.CreateAlternateViewFromString(body, null, "text/plain"));
try
{
var smtp = new SmtpClient("localhost", 25)
{
Credentials = new NetworkCredential("xxx", "xxx")
};
smtp.Send(mail);
}
catch (Exception err)
{
Elmah.ErrorSignal.FromCurrentContext().Raise(err);
}
}