«SmtpFailedRecipientException: почтовый ящик недоступен», когда почтовый ящик доступен - PullRequest
5 голосов
/ 26 октября 2011

Я получаю эту ошибку, когда пытаюсь отправить электронное письмо на определенный адрес в моем коде:

System.Net.Mail.SmtpFailedRecipientException: почтовый ящик недоступен. Ответ сервера был: Неизвестный пользователь

Код отправляет электронное письмо на два почтовых адреса, мой и мой коллега. Письмо отправляется мне отлично, но я получаю эту ошибку, когда пытаюсь отправить ему письмо.

Я осмотрелся, и в основном распространенным объяснением этой ошибки является то, что адрес электронной почты недействителен, или их почтовый ящик заполнен и ему не разрешено получать почту, или на сервере есть какие-то настройки, которые ограничивают получение электронной почты.

Но адрес электронной почты может получать электронную почту, я переписываюсь с ним по электронной почте прямо сейчас.

Есть ли какая-либо другая причина, по которой может возникнуть эта ошибка?

EDIT:

Вот код, может быть, кто-то может определить проблему. Я проверил передаваемые параметры, все данные верны:

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

1 Ответ

8 голосов
/ 26 октября 2011

Предполагая, что ваши настройки SMTP верны, это, скорее всего, случай ограничения на стороне сервера ...

Например, чтобы предотвратить спам, сервер принимает SMTP только от статического IP-адреса отправителя и / или проверяет IP-адрес отправителя по MX-записям (DNS) и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...