Отправка локальной почты через удаленный MTA с авторизацией

Если у вас есть приложение которое использует для отправки почты системные функции и не поддерживает указание SMTP-сервера и учетных данных с которыми необходимо осуществлять отправку почты (например через почтовый сервер Yandex), то вам придется настроить локальный MTA (например Postfix) таки образом, чтобы он не просто отправлял почту Relay-ем на Yandex, но еще и авторизовывался на удаленном сервере.

 
 
Логотип GITA-DEV

Автор: Черноусов Антон aka Gita-Dev
Опубликовано: 03 Авг 2018 (последние правки 1 месяц)

asterisk dev git install mta pbx postfix smtp tar yandex

На самом деле это только звучит сложно, а на практике имеется небольшой конфигурационный файл и надо сделать несколько дополнительных телодвижений, чтобы это все заработало, в общем максимально типовая операция.

Установка Postfix

Первым делом установите пакет postfix при помощи пакетного менеджера вашего дистрибутива:

# yum install postfix

Настройка Postfix

Следующим этапом приведите конфигурационный файл /etc/postfix/main.cf к следующему виду:

inet_interfaces = 127.0.0.1 
relayhost = 
smtp_sasl_auth_enable = yes 
smtp_sasl_password_maps = hash:/etc/postfix/private/sasl_passwd 
smtp_sasl_security_options = noanonymous 
smtp_sasl_type = cyrus 
smtp_sasl_mechanism_filter = login 
smtp_sender_dependent_authentication = yes 
sender_dependent_relayhost_maps = hash:/etc/postfix/private/sender_relay 
sender_canonical_maps = hash:/etc/postfix/private/canonical 
compatibility_level=2 
append_dot_mydomain=yes 
smtputf8_enable = no
smtp_generic_maps = hash:/etc/postfix/private/smtp_generic_maps

Создаем файлы описания авторизации и транспорта

Файл /etc/postfix/private/sasl_passwd:

[smtp.yandex.ru] robot-report@prod.com:xxxUserPasswordxxx

Файл /etc/postfix/private/sender_relay:

@prod.com smtp.yandex.ru

Файл /etc/postfix/private/canonical:

@prod.com robot-report@prod.com

Домен prod.com конечно надо заменить на свой корпоративный домен на Yandex или использовать @yandex.ru если вы не пользуетесь почтой для домена.

Файл /etc/postfix/private/smtp_generic_maps содержит соотношения внутренних пользователей системы и адреса электронной почты от которого они будут общаться с удаленным почтовым сервером:

www-data robot-report@prod.com
root robot-report@prod.com
asterisk robot-report@prod.com

Завершающим этапом выполним операцию postmap на последних четырех файлах:

# postmap /etc/postfix/private/*

Перезапускаем почтовый сервер командой:

# systemctl start postfix

Проверяем, что все работает корректно:

# echo "nl12345df@yandex.ru" | mail anton@gita-dev.ru

Если все прошло успешно, то вы должны получить письмо на адрес указанный параметром команды mail, а в лог-файле /var/log/maillog будет нечто похожее:

Aug 3 05:01:46 pbx postfix/smtpd[8237]: connect from localhost[127.0.0.1] 
Aug 3 05:01:46 pbx postfix/smtpd[8237]: 6E7C148A7: client=localhost[127.0.0.1] 
Aug 3 05:01:46 pbx postfix/cleanup[8240]: 6E7C148A7: message-id=<201808030901.w7391keU008236@localhost.localdomain> 
Aug 3 05:01:46 pbx postfix/qmgr[8233]: 6E7C148A7: from=<root@localhost.localdomain>, size=666, nrcpt=1 (queue active) 
Aug 3 05:01:46 pbx sendmail[8236]: w7391keU008236: to=anton@gita-dev.ru, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30213, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (Ok: queued as 6E7C148A7) 
Aug 3 05:01:46 pbx postfix/smtpd[8237]: disconnect from localhost[127.0.0.1]

Похожие статьи

Установка и обновление сертификата Let's encrypt для почтового сервера Zimbra

Установка и обновление сертификата Let's encrypt для почтового сервера Zimbra

Эта заметка не претендует на истину в первой инстанции и даже обязательно должна быть дополнена некоторыми механизмами авто-продления сертификатов раз в месяц, но так как последнее время на поддержке у меня не осталось Zimbra-серверов я дополню ее по по возможности. Представленный механизм полностью рабочий и многократно апробировался в реальной боевой среде.


Установка и настройка почтового сервера Zimbra (часть первая - основы установки и настройки)

Установка и настройка почтового сервера Zimbra (часть первая - основы установки и настройки)

Сразу предупреждаю, если вам нужен простой почтовый сервер для приема и отправки почты, то лучше собрать его из OpenSource компонентов и он будет отлично работать, но если вам нужна мощная система коллективной работы с поддержкой LDAP-авторизации, календарей, общих почтовых папок и прочих колабрэйшн плюшек которые имеются в проприетарном почтовом сервере MS Exchange, то вам прямая дорога к внедрению Zimbra


Создание почтового домена в Zimbra и подключение почтового клиента

Создание почтового домена в Zimbra и подключение почтового клиента

Как я уже говорил ранее, у меня опять подвернулся проект связанный с Zimbra Collabration Suite и я решил задокументировать типовые операции по управлению почтовым сервером и некоторые подводные камни и грабли с которыми я сталкиваюсь практически на каждом внедрении этого почтового сервера.


Легковесный почтовый сервер с хранением учетных данных в базе Postgresql

Легковесный почтовый сервер с хранением учетных данных в базе Postgresql

До этого я рассказывал исключительно о монстроидальном комплексе совместной работы под названием Zimbra и вы наверное поняли, что запустить его на небольшом VPS у вас не получится, так как он потребляет просто огромное количество системных ресурсов. Но, что же делать, если требуется собственный почтовый сервер и вы сильно ограничены в системных ресурсах? Правильный ответ, это собрать его самому из Opensource-компонентов и полученный результат удивит вас своей легковесностью.


Настройка DKIM, SPF, DMARK. Повышаем уровень доверия к почтовому серверу.

Настройка DKIM, SPF, DMARK. Повышаем уровень доверия к почтовому серверу.

Задачи по настройке DKIM/SPF/DMARK и т.п. довольно распространены на фриланс-сайтах, но в большинстве случаев там все в итоге сводится к настройте мне почтовый сервер для спам рассылок чтобы мои уникальные предложения не попадали в спам. Такие товарищи мне не товарищи и сразу идут лесом, да и кстати сказать, из за них теперь для настройки банального почтового сервера требуется совершать столько приседаний. Чтобы не забыть последовательность действий по настройке почтового сервера письма от которого не будут сразу уходить в спам, я решил написать эту небольшую инструкцию.


Простой SMTP-сервер (с авторизацией) для почтовой рассылки в дополнение к Yandex почта для домена

Простой SMTP-сервер (с авторизацией) для почтовой рассылки в дополнение к Yandex почта для домена

Яндекс почта для домена, это неплохое решение для небольшой компании у которой нет технического специалиста для поддержки собственного почтового сервера. Вам не придется заботиться о мониторинге того, что ваш сервер может попасть в черный список и еще ряда факторов, но в этой бочке меда есть одна большая ложка дегтя которая перевешивает все положительные факторы.


Отзывы и комментарии