Почтовый ящик недоступен. Ответ сервера был: 5.7.1 не удалось ретранслировать для abc@xyz.com


Я получаю "почтовый ящик недоступен. Ответ сервера был: 5.7.1 не удалось ретранслировать для abc@xyz.com " Когда я пытаюсь отправить почту с помощью ASP.NET. сайт развернут на IIS7, Windows 2008 server.

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

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

8 82

8 ответов:

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

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

но найти "виртуальный SMTP-сервер по умолчанию" было сложно ;)

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

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

  1. Откройте Диспетчер IIS6 с помощью Панели управления -- > Администрирование.
  2. открыть Свойства виртуального сервера SMTP.
  3. на вкладке Общие, установите IP-адрес веб-сервер вместо "Все Неназначенный."
  4. на вкладке Доступ нажмите кнопку реле кнопка, это откроет реле Диалоговое окно ограничения.
  5. в списке ретрансляционные компьютеры добавьте loopback IP-адрес т. е. 127.0.0.1 и IP-адрес веб-сервера, чтобы они могли передавать/ретранслировать электронные письма через SMTP-сервер.

в этом и заключается ответ... настройки IIS

IIS-->виртуальный сервер SMTP по умолчанию-- > свойства-- > доступ-- > ограничения ретрансляции просто добавьте или исключите IP-адреса, о которых вы заботитесь, должны решить проблему.

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

не удается прочитать данные из транспортного соединения: net_io_connectionclosed

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

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

как картинка стоит тысячи слов..

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

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

SMTP Relay

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

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

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

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

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

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

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

(в моем случае сообщение об ошибке не содержит "for abc@xyz.com")

здесь показано, как добавить соединитель приема: 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 и выполните команду
  • Get-ReceiveConnector "JiraTest | / Add-ADPermission-User "NT AUTHORITY\ANONYMOUS LOGON" - ExtendedRights "МС-обменником с SMTP-принять-любой-получателя"

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

Send-MailMessage -From "myemail@server.com.au" -To "myemail@server.com.au" -Subject "Test Email" -Body "This is a test"

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

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

enter image description here

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