当我尝试向代码中的特定地址发送电子邮件时出现此错误:
System.Net.Mail.SmtpFailedRecipientException: Mailbox unavailable. The server response was: Unknown user
代码向两个电子邮件地址发送一封电子邮件,我的和我同事的。电子邮件发送给我时一切正常,但当它尝试将电子邮件发送给他时我收到了错误。
我环顾四周,基本上这个错误的常见解释是电子邮件地址无效,或者他们的邮箱已满并且不允许接收邮件,或者服务器上有一些限制它的设置收到电子邮件。
但是邮箱是可以接收邮件的,我现在正通过邮件与他通信。
是否有任何其他原因可能导致此错误?
编辑:
这是代码,也许有人能发现问题。我检查了传递的参数,所有数据都是正确的:
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);
}
}
最佳答案
假设您的 SMTP 设置正确,这很可能是服务器端限制的情况...
例如,为了防止垃圾邮件,服务器只接受来自静态发件人 IP 的 smtp 和/或根据 MX 记录 (DNS) 等检查发件人 IP。
关于c# - "SmtpFailedRecipientException: Mailbox unavailable"邮箱可用时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7907866/