Postfix

Материал из ALT Linux Wiki

Отправка e-mail уведомлений с ОС Альт (в примере p10) через внешние почтовые серверы (в примере gmail).

Установить нужные пакеты:

# apt-get install libsasl2-3 postfix-tls postfix-cyrus

Создать файл с логином/паролем /etc/postfix/sasl_passwd:

# vim /etc/postfix/sasl_passwd
smtp.gmail.com вашемейл@gmail.com:вашпароль
Примечание: Если учётная запись в google подключена с двухфакторной аутентификацией, то в этом случае необходимо в настройках аккаунта google сгенерировать 16-значный «Пароль приложения» (App Passwords), и указать его (без пробелов) в файле /etc/postfix/sasl_passwd вместо пароля аккаунта. Иначе в логах, при отправке сообщений, будет ошибка: SASL authentication failed; server smtp.gmail.com.


Создать базу данных из файла паролей:

# postmap hash:/etc/postfix/sasl_passwd

Ограничить права на файл:

# chmod 600 /etc/postfix/sasl_passwd

Поправить файл конфигурации postfix:

# vim /etc/postfix/main.cf
mailbox_command = /usr/bin/procmail -a $DOMAIN -d $LOGNAME
inet_protocols = ipv4
relayhost = smtp.gmail.com:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_tls_session_cache
smtp_tls_session_cache_timeout = 3600s
compatibility_level = 3.6

Добавить симлинк (иначе в логах ошибка fatal: SASL library initialization):

# ln -s /usr/lib64/sasl2-3 /etc/postfix/sasl

Запустить postfix:

# systemctl start postfix

Проверяем:

# echo "Тело сообщения" | mail -s "Заголовок сообщения" вашемейл@gmail.com