Майкрософт IIS может отлично выполнять роль SMTP, но для настройки требуется несколько шагов. К счастью для вас, я настроил сервер ретрансляции IIS SMTP и задокументировал все шаги!
В этой статье мы рассмотрим все шаги, необходимые для успешной настройки сервера ретрансляции SMTP для отправки исходящего электронного сообщения с Office 365. Технически мы будем использовать этот сервер ретрансляции SMTP для отправки электронной почты в Office 365; он также может быстро работать для любых общих целей доставки почты через ретрансляцию SMTP.
Предварительные требования
Чтобы настроить IIS и следовать за мной, убедитесь, что у вас есть машина с Windows Server 2016. Я также предполагаю, что вы вошли на сервер в качестве администратора.
Установите службу SMTP сервера IIS
Первое, что вам нужно сделать для настройки ретрансляции SMTP в IIS – установить службу SMTP сервера IIS. Вам нужно установить функцию Сервер SMTP Windows.
Используя Менеджер сервера
Если вы не знакомы с установкой функций Windows через Менеджер сервера, ознакомьтесь с этой статьей с заголовком Установка или удаление ролей, служб ролей или функций.
Используя PowerShell
Установка функции SMTP сервера устраняет множество манипуляций с указанием и кликами. Откройте консоль PowerShell от имени администратора и выполните следующую команду:
Ждите завершения установки. Вы должны увидеть вывод, аналогичный этому.

Импортируйте сертификат (только для TLS)
Если вы собираетесь отправлять электронную почту через TLS (Office 365), вам нужно импортировать SSL-сертификат в личное хранилище сертификатов на сервере перед настройкой SMTP-сервера IIS. Вы можете пропустить этот шаг, если ваш ретранслятор SMTP Office 365 не поддерживает TLS.
Если у вас нет сертификата, вы можете получить его через внутреннюю инфраструктуру PKI (если у вас есть таковая) или общедоступный сертификат, используя услуги, такие как LetsEncrypt, Digicert и др.
После получения сертификата вам нужно его импортировать в личное хранилище сертификатов на сервере. Если вы не знаете, как импортировать сертификаты с помощью MMC “Сертификаты”, посмотрите руководство Импорт и экспорт сертификата – Microsoft Windows.
При успешном выполнении вы должны увидеть окно подтверждения, подобное этому. Щелкните OK (1) для подтверждения.

Вернитесь в основное окно консоли, обновите папку Личное > Сертификаты, и вы должны увидеть импортированный сертификат.
Проверьте сертификат
После импорта обязательно проверьте, что цепочка сертификатов полна и нет ошибок. Если всё в порядке, вы должны иметь возможность открыть сертификат и увидеть, что поле Действительно с актуально, и существует личный ключ, связанный с сертификатом. Пример показан ниже.

На вкладке Путь сертификации также должно быть видно Статус сертификата, указывающий, что сертификат в порядке, как показано ниже.

Настройте сервер SMTP IIS
На этом этапе сервер SMTP успешно установлен. Но прежде чем его можно будет использовать, необходимо настроить параметры сервера.
Сервер SMTP работает в режиме совместимости с IIS6 и не имеет встроенной поддержки PowerShell. Это означает, что вы будете настраивать параметры вручную с использованием консоли управления IIS6.
Перейдите в Пуск –> Выполнить и введите inetmgr6, затем нажмите Enter. Это откроет консоль IIS 6.
Как только консоль открыта, щёлкните правой кнопкой мыши на [SMTP Virtual Server #1] (1), затем выберите Свойства (2).

В окне Свойства отметьте Включить регистрацию (1), затем щёлкните Свойства (2).

Перейдите на вкладку Дополнительно и отметьте все поля в списке (1), затем щёлкните OK (2).

Вернитесь в окно Свойства, перейдите на вкладку Доставка и щёлкните Дополнительно (1).

В окне Расширенная доставка введите полное доменное имя (Fully-qualified domain name) (1), которое вы хотели бы использовать для почтового сервера SMTP назначения. Оно не обязательно должно совпадать с FQDN самого компьютера. Если вы настраиваете этот SMTP-сервер для использования с Office 365, в поле Умный хост (Smart host) (2) укажите ваш Office 365 MX-адрес и нажмите ОК (3).

Добавьте разрешенные IP-адреса в SMTP-сервере IIS
Теперь, если у вас есть устройство, которое вы хотите протестировать, сначала добавьте его IP-адрес в ограничения ретрансляции. Например, IP-адрес 192.168.0.3 будет добавлен в ограничения ретрансляции. Этот IP-адрес принадлежит компьютеру, находящемуся в той же сети, что и сервер.
Чтобы добавить разрешенный IP в ограничения ретрансляции, перейдите на вкладку Доступ и нажмите Ретрансляция (1).

В окне Ограничения ретрансляции нажмите Добавить (1).

Затем введите IP-адрес (1), который вы хотите разрешить, и нажмите ОК (2).

Вернитесь в окно Ограничения ретрансляции, убедитесь, что IP-адрес добавлен в список, затем нажмите ОК (1) и ОК в свойствах окна.

Подтвердите обнаружение сертификата SMTP-сервером и включите шифрование TLS
Если ваш ретрансляционный сервер будет отправлять исходящие электронные письма через TLS, вам нужно подтвердить, что сертификат виден сервером SMTP IIS, и включить шифрование TLS.
На вкладке Доступ свойств SMTP-сервера вы должны увидеть сообщение о том, что “Обнаружен сертификат TLS с датой истечения срока действия: XXXXXX”. Если да, значит, вы все настроили правильно.

Затем перейдите на вкладку Доставка, нажмите Исходная безопасность (1), убедитесь в том, что установлен флажок Шифрование TLS (2), затем нажмите ОК (3).

Это завершает настройку сервера SMTP IIS.
Протестируйте сервер ретрансляции почты SMTP IIS
На этом этапе ваш SMTP-сервер должен быть настроен и готов к началу пересылки почты. Следующим шагом будет его тестирование. Теперь вы можете протестировать отправку электронной почты через ретранслятор SMTP, чтобы убедиться, что получающий сервер SMTP получает сообщение.
Тестирование с использованием каталога PickUp
После установки SMTP-сервера IIS на сервере будет создана папка по адресу C:\inetpub\mailroot\Pickup. Этот каталог – место, где служба SMTP забирает вновь отправленные электронные письма для обработки перед перемещением их в каталог Очередь.
Для тестирования с использованием этого метода создайте файл обычного текста с содержимым, подобным следующему:
Не забудьте изменить значения “От” и “Кому” на свои собственные.
Теперь сохраните этот файл в каком-нибудь другом месте, а не в каталоге Pickup под именем mail.txt.
После сохранения файла скопируйте и вставьте его в папку C:\inetpub\mailroot\Pickup. Если операция выполнена успешно, файл должен исчезнуть. Это означает, что служба SMTP его забрала и начала обрабатывать сообщение.
После нескольких секунд до минуты вы должны получить электронное письмо, отправленное на указанный адрес электронной почты получателя, определенный в файле mail.txt.
Тест с использованием PowerShell
В этом тесте вы будете использовать PowerShell с компьютера, IP-адрес которого вы добавили в раздел Добавление разрешенных IP-адресов в SMTP-сервер IIS.
Откройте консоль PowerShell и скопируйте/вставьте следующий код. Обязательно отредактируйте значения параметров From
, To
и SmtpServer
. В зависимости от того, как вы настроили ретрансляцию сервера выше, вы можете использовать любой из приведенных ниже примеров для тестирования настройки без использования TLS или с использованием TLS.
Резюме
В этой статье вы узнали, как настроить ретрансляцию сервера IIS SMTP для доставки электронной почты получателя из Office 365. Мы рассмотрели настройку как без использования TLS, так и с использованием TLS SMTP-сервера с использованием комбинации графического интерфейса и PowerShell. Затем мы протестировали нашу настройку с использованием PowerShell, чтобы подтвердить, что все в порядке.