Почтовый ящик недоступен ошибка - PullRequest
6 голосов
/ 11 ноября 2010

При попытке отправить электронное письмо на сайте .NET возникает следующая ошибка:

Mailbox unavailable. The server response was: No such user here

Появляется ли эта ошибка, если код пытается отправить на адрес электронной почты, который не существует?

Спасибо.

Теперь у меня есть больше информации об этой ошибке. Письма отправляются с noreply @ [domain]. Когда письма отправляются на адрес электронной почты того же домена, письма отправляются без проблем. Эта ошибка появляется только в том случае, если отправляемые адреса электронной почты не принадлежат одному домену. Я не знаю, есть ли смысл?

Ответы [ 6 ]

9 голосов
/ 08 апреля 2012

Это происходит, когда вы указываете домен с NetworkCredentials . Если вы укажете домен (третий аргумент), вы сможете отправлять только действительные почтовые ящики в этом домене. Оставьте это, чтобы иметь возможность отправлять на любой адрес за пределами домена.

var client = new SmtpClient("smtp.server.com");
client.UseDefaultCredentials = false;

// The following will be able to send to anyone outside the domain.
client.Credentials = new NetworkCredential("user", "password");

// The following will only work when sending to users on server.com
client.Credentials = new NetworkCredential("user", "password", "server.com");
6 голосов
/ 20 августа 2013

Возможно, ваш пароль неверный. Мне пришлось сбросить пароль на почтовом сервере, затем ошибка ушла.

3 голосов
/ 16 мая 2012

Это может произойти при переходе с платформы 2.0 на 4.0. Как было объяснено здесь, вам нужно явно указать IIS, что вы не используете учетные данные и домен по умолчанию. Используйте следующий синтаксис в web.config:

<network host="mail.younameit.com" port="25"
userName="account@younameit.com" password="youchoose"
defaultCredentials="false" clientDomain=""/>

Последние два параметра наиболее важны для решения этой проблемы.

1 голос
/ 27 февраля 2014

Этот вопрос был мне полезен в аналогичной ситуации.Для нас ключевым фактом было то, что ошибка произошла только для адресов электронной почты в другом домене. Я узнал, что наша новая настройка веб-хоста / почтового сервера специально настроена таким образом.(Предыдущий с тем же хостингом не был.) Некоторая комбинация кода приложения или настроек Web.config могла бы решить нашу проблему, но самым прямым способом было создать учетную запись без ответа на нашем домене, чтобытеперь no-reply@ourdomain.com действителен и разрешен к отправке на внешние адреса.

Никаких изменений в коде или Web.config не требовалось.Последний вызывает только «от» и «хост», и учетные данные не нужны в нашей среде хостинга.(Когда мы переопределяем номинальное «от», нам нужно переопределить его, чтобы он был другим адресом, действительным в нашем домене .

1 голос
/ 11 ноября 2010

Это звучит как проблема SMTP

Попробуйте установить информацию о вашем SMTP-сервере в файле web.config следующим образом:

<system.net>
        <mailSettings>
            <smtp deliveryMethod="Network">
                <network defaultCredentials="false" host="mail.blah.com" password="xxxx" port="25" userName="ex@blah.com"/>
            </smtp>
        </mailSettings>
</system.net> 

Это достойная статья, подробно описывающая этот раздел сети.config и как получить к нему доступ с помощью кода:

http://dotnetslackers.com/Community/blogs/kaushalparik/archive/2008/09/06/accessing-web-config-file-smtp-mail-settings-programmatically.aspx

0 голосов
/ 14 июня 2011

Я не уверен в точной проблеме, но я обнаружил, что проблема была связана с миграцией сервера. Теперь проблема решена!

...