Я настраиваю новый выделенный сервер с использованием Windows Server 2019. Он заменяет старый, основанный на Windows Server 2008 R2. У меня был встроенный SMTP-сервер, работающий на старом сервере, без проблем. Я настроил новый сервер в качестве SMTP-сервера, используя свои собственные заметки о настройке старого, а также двойную проверку вторжений в Интернете. В основном по инструкциям здесь:
http://www.vsysad.com/2017/05/install-and-configure-smtp-server-on-windows-server-2016/
Проблема я При этом электронная почта не покидает C: \ inetpub \ mailroot \ Queue и никогда не дойдет до получателей. Журнал событий Windows содержит следующие предупреждения:
Событие 4006, smtpsvc
«Доставка сообщения на хост '204.79.197.212' не удалась при доставке в удаленный домен 'hotmail.com' по следующей причине: удаленный сервер не ответил на попытку подключения.»
Выше приведен только пример использования адрес назначения Hotmail. Такое же сообщение получено при попытке отправить на адреса в других доменах.
Что я пробовал:
Последний пункт выше также связан с интересной вещью, которую я заметил, а именно, что IP-адрес, указанный в сообщении о событии 4006, не является один из IP-адресов, перечисленных в записях MX. Это IP-адрес фактического домена hotmail.com. Итак, почему он пытается связаться с hotmail.com, а не с одним из адресов, перечисленных в записях MX?
Для дальнейшего исследования я использовал Telnet для отправки на электронную почту в одном из моих собственных доменов. Конечно же, я нахожу в журнале событие 4006, говорящее:
«Не удалось доставить сообщение на хост [IP моего домена] при доставке в удаленный домен [мой домен]» по следующей причине: соединение было сброшено удаленным хостом. "
Снова кажется, что SMTP-сервер пытается подключиться к IP-адресу моего домена и порту 25, а не к адресу, указанному в записи MX.
Насколько я понимаю, это прийти. Возможно, я что-то здесь неправильно интерпретирую, но похоже, что SMTP-сервер Windows пытается подключиться к домену адреса электронной почты напрямую через порт 25 (игнорируя записи MX) ... Любые идеи о том, что я делаю неправильно или, возможно, как мне действовать при устранении этой проблемы?
РЕДАКТИРОВАТЬ: Найден способ обхода, а также то, что вызывает проблему. См. Мой ответ ниже.
Я продолжал исследовать эту проблему и теперь считаю, что это ошибка в Windows Server 2019. Фактически я нашел обходной путь , а также способ воспроизвести эту проблему со 100% уверенностью.
Почта не будет отправляться правильно, если для типа запуска службы SMTP установлено значение «Автоматический» (т.е. запускать сразу при загрузке). Однако, если служба SMTP настроена на запуск вручную, а затем запускается вручную либо из services.msc, либо из диспетчера IIS6, электронная почта выйдет из очереди и будет доставлена получателям.
Если включен «Автоматический» запуск используется для службы, любые попытки отправить электронное письмо всегда будут приводить к тому, что электронное письмо застревает в очереди, а событие 4006 (подробности см. в исходном сообщении) записывается в журнал событий. Это на 100% воспроизводимо в моем
Временным решением является установка типа запуска «Автоматический (отложенный запуск)» . Если я правильно проинформирован, это приведет к запуску службы SMTP через 2 минуты после запуска последней "автоматической" службы. Это не оптимальное решение, но пока оно работает.
Для полноты, вот пошаговое описание проблемы:
Примечание: шаги 2–6, вероятно, не нужны для воспроизведения проблемы, но это базовая настройка, которую я использовал.
В моем случае оказалось, что AWS препятствует отправке писем с сервера.
«Важно:Amazon Elastic Compute Cloud (Amazon EC2)ограничивает исходящий трафик Amazon Virtual Private Cloud (Amazon VPC)через порт 25 для всех инстансов EC2 по умолчанию. Если вашему приложению требуется трафик на SMTP-порту 25 вы можете запросить снятие этого ограничения».
Вы получите точно такое же поведение, если машина является виртуальной машиной, размещенной в Azure. После того, как я попробовал предложения MrFika выше, у меня не было успеха. Похоже, проблема связана с тем, что правило Microsoft для подписки на виртуальные машины Azure:
Начиная с 15 ноября 2017 г. напрямую во внешние домены (такие как outlook.com и gmail.com) из виртуальная машина (ВМ) доступна только для определенной подписки типы в Azure. Исходящие SMTP-соединения, использующие TCP-порт 25, были заблокирован. (Порт 25 используется в основном для доставки электронной почты без проверки подлинности.)
Это изменение в поведении относится только к подпискам и развертываниям. которые были созданы после 15 ноября 2017 г.
Статья Microsoft находится здесь: Troubleshoot-outbound-smtp-connectivity