Postfix relay smtp.mail.ru. Шлюз отправки почты.

Дано: бизнес-аккаунты почтового сервиса VKmail. Требуется настроить отправку почты локальных информационных систем. Не все системы корректно умеют работать с TLS и авторизацию. Поэтому используем локальных шлюз почты с авторизацией на внешнем релее. Для этого конечно используем Postfix и Cyrus SASL. ОС Oracle Linux 7.

Установка прикладного ПО:

yum install -y cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain postfix

SMTP VKmail: smtp.mail.ru, порт 587

/etc/postfix/main.cf

# sasl аутентификация отправителя
smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay

# релей хост по умолчанию
relayhost = [smtp.mail.ru]:587

# smtp аутентификация
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
# ключи центров сертификации, в системе по-умолчанию
smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
smtp_use_tls = yes
smtp_tls_security_level = encrypt

/etc/postfix/master.cf раскомментировать две строки

-o smtpd_sasl_auth_enable=yes

/etc/postfix/sender_relay

hr-noreply@mydomain.tld [smtp.mail.ru]:587
fin-noreply@mydomain.tld [smtp.mail.ru]:587
portal-noreply@mydomain.tld [smtp.mail.ru]:587
external-noreply@mydomain.tld [smtp.mail.ru]:587
www-noreply@mydomain.tld [smtp.mail.ru]:587
work-noreply@mydomain.tld [smtp.mail.ru]:587

/etc/postfix/sasl_passwd


hr-noreply@mydomain.tld hr-noreply@mydomain.tld:PAssW0rd1
fin-noreply@mydomain.tld fin-noreply@mydomain.tld:PAssW0rd2
portal-noreply@mydomain.tld portal-noreply@mydomain.tld:PAssW0rd3
external-noreply@mydomain.tld external-noreply@mydomain.tld:PAssW0rd4
www-noreply@mydomain.tld www-noreply@mydomain.tld:PAssW0rd5

# один аккаунт по-умолчанию
[smtp.mail.ru]:587 work-noreply@fa.ru:MyirTd97

Обязательно преобразовать файлы в бинарный формат, который использует postfix

postmap /etc/postfix/sender_relay /etc/postfix/sasl_passwd

Включить автозапуск postfix и запустить его

systemctl enable postfix && systemctl start postfix

Проверка работы отправкой почты из консоли, отправку смотрим в логах /var/log/maillog, получение в адресе назначения

sendmail -f external-noreply@mydomain.tld -t <<EOF
To: saprisada@mydomain.tld
Subject: Hey, I successfully configured Postfix with sender-dependent SASL authentication!
Content-type: text/html

<b>Isn't this awesome?</b>
EOF

Добавим ограничение для хостов, которым разрешена отправка почты через настроенный релей. Опция в конфигурационном файле main.cf mynetworks, но содержимое вынесем в отдельный файл /etc/postfix/mynetworks

10.50.5.104	cl01vserver104
10.50.5.105	cl01vserver105
10.50.5.106	cl01vserver106
10.50.5.107	cl01vserver107
10.50.5.108	cl01vserver108
10.50.5.189	cl01vserver189
10.50.5.68	cl01vserver68
10.5.50.112	cl04vserver112
10.5.50.113	cl04vserver113
10.5.50.114	cl04vserver114

и в /etc/postfix/main.cf

mynetworks = hash:/etc/postfix/mynetworks

Обязательно сформировать бинарный формат, перезапустить postfix и проверить отправку

 postmap /etc/postfix/mynetworks и systemctl restart postfix
Close Menu