[email protected] - программирование" />

Почта недоступна. Ответ сервера: 5.7.1 Не удалось передать для [email protected]

Я получаю " Почтовый ящик недоступен. Ответ сервера: 5.7.1 Не удалось передать для [email protected]" при попытке отправить почту с помощью ASP.NET. Сайт развертывается на сервере IIS7, Windows 2008.

Веб-сайт отлично работал на IIS6 и Windows 2003 Server. Я развернул его на IIS7, 2008, он начал давать мне эту ошибку.

Кто-нибудь испытал это раньше?

Ответ 1

Аах получил это... Я получил его работу:)

Спасибо Кристофер, ваше предложение правильное.

Но поиск "Виртуального сервера SMTP по умолчанию" был сложным;)

Даже если вы используете IIS7 для развертывания своего веб-сайта, вам нужно открыть диспетчер IIS6 для настройки SMTP-сервера (почему?).

Я настроил SMTP-сервер следующим образом:

  • Откройте диспетчер IIS6 с помощью панели управления → Администрирование.
  • Откройте свойства виртуального сервера SMTP.
  • На вкладке Общие установите IP-адрес веб-сервер вместо "Все Unassigned".
  • В вкладке "Доступ" нажмите "Реле" , это откроет Relay Ограничения.
  • В списке компьютеров-ретрансляторов добавьте IP-адрес петли i.e 127.0.0.1 и IP-адрес веб-сервера, чтобы они могли передавать/ретранслировать электронные письма через SMTP-сервер.

Ответ 2

здесь лежит ответ... Настройки IIS

IIS → Виртуальный сервер SMTP по умолчанию → Свойства → Доступ → Ограничения на ретрансляцию просто добавьте или исключите интересующие вас IP-адреса, разрешите проблему.

Ответ 3

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

Невозможно прочитать данные из транспортного соединения: net_io_connectionclosed

Я немного больше копал и ковырялся и (пока я не уверен, почему это сработало) я решил это: - Возвращение в консоль управления IIS6.0
- Открыть свойства виртуального сервера SMTP
- На вкладке "Общие", изменив значение "IP-адрес:" на "(Все неназначенные)"

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

Ответ 4

Как изображение стоит тысячи слов.

Когда вы найдете диспетчер IIS6 (я обнаружил, что поиск IIS может вернуть 2 результата) перейдите к свойствам SMTP-сервера, затем "Access", затем нажмите кнопку реле.

Затем вы можете либо выбрать все, либо разрешить только определенный ip, например 127.0.0.1

SMTP Relay

Ответ 5

Спасибо Виноду за хорошо представленный ответ.

Я получил ту же ошибку, что и Мик Бирн, когда я последовал вышеприведенным шагам. Отвернув его обратно на All Unassigned, он изменил его, но мне пришлось подстроить еще несколько вещей:

  • Добавьте пользователя, на котором мой сайт запущен для пользователей на вкладке "Безопасность" на виртуальном сервере SMTP.
  • Изменено значение в атрибуте mailSettings > network > host в моем web.config на конкретный IP-адрес сервера (например, 192.168.100.120), в отличие от localhost (который указывал на 127.0.0.1 в файле hosts).

Надеюсь, это спасет кого-то несколько минут беспорядков.

Ответ 6

Мне удалось исправить эту проблему, изменив настройки почты в разделе system.net моего web.config:

<mailSettings>
    <smtp deliveryMethod="Network">
        <network host="yourserver" defaultCredentials="true"/>
    </smtp>
</mailSettings>

Ответ 7

Если у вас есть Exchange 2010:

(В моем случае сообщение об ошибке не содержало "для [email protected]" )

Это показывает, как добавить соединитель приема: http://exchangeserverpro.com/how-to-configure-a-relay-connector-for-exchange-server-2010/

Но мне также нужно было выполнить описанный здесь шаг: http://recover-email.blogspot.com.au/2013/12/how-to-solve-exchange-smtp-server-error.html

  • Перейдите в Exchange Management Shell и запустите команду
  • Get-ReceiveConnector "JiraTest" | Add-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Мс-Exch-SMTP-Accept-Any-Recipient"

Во время работы над этим я запустил следующее на затронутой консоли PowerShell сервера до тех пор, пока ошибка не исчезнет:

Send-MailMessage -From "[email protected]" -To "[email protected]" -Subject "Test Email" -Body "This is a test"

Ответ 8

Хотелось поделиться тем, что вызвало ошибку в моем случае. Проведите пару часов, чтобы понять это, так что, надеюсь, это поможет кому-то сэкономить.

Как ни странно, ошибка была поднята при включенной настройке Enable drop directory quota для домена.

введите описание изображения здесь

Я не эксперт и не знаю технического объяснения, но отказ от упомянутого параметра отсортировал проблему.