Rose debug info
---------------

Настройка отправки писем на сервере через яндекс почту

1) Установка модулей

apt install libsasl2-modules mailutils

Где на вопрос General type of mail configuration выбрать: Internet Site.

2) Основная конфигурация

mcedit /etc/postfix/main.cf

Добавить в конец

# my config
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
smtp_tls_CAfile = /etc/postfix/ca.pem
smtp_use_tls = yes

Сохранить и выполнить:

mkdir /etc/postfix/private
mcedit /etc/postfix/private/sender_relay

Где указать:

@yandex.ru    smtp.yandex.ru
@ya.ru        smtp.yandex.ru

После чего:

mcedit /etc/postfix/private/sasl_passwd

В нём укажите ваш почтовый ящик (вместо username@ya.ru) и пароль (вместо password):

username@ya.ru    username@ya.ru:password

3) Настройка сертификатов:

postmap /etc/postfix/private/{sasl_passwd,sender_relay}
openssl s_client -starttls smtp -crlf -connect smtp.yandex.ru:25

После того, как выполнение завершилось (висит фраза read R BLOCK и больше ничего не происходит), нажать
CTRL+C, чтобы остановить работу.
Из полученного вывода скопировать блок:

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

В файл:

mcedit /etc/postfix/ca.pem

4) Проверка

Замените username@ya.ru на ваш почтовый ящик.

systemctl restart postfix
echo "It's work!" | mail -s "Check mail sending" username@ya.ru -aFrom:username@ya.ru
 116   5 mo