Postfix
Версия от 16:52, 22 апреля 2022; Elena Mishina (обсуждение | вклад)
Отправка 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