Postfix: различия между версиями
м (вообще у нас вместо подсветки shell-синтаксиса обычно {{cmd}} или просто <pre> применяется...) |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
Отправка e-mail уведомлений с | Отправка e-mail уведомлений с ОС Альт (в примере [[P10|p10]]) через внешние почтовые серверы (в примере gmail). | ||
Установить нужные пакеты: | |||
<syntaxhighlight lang="shell"> | <syntaxhighlight lang="shell"> | ||
# apt-get install libsasl2-3 postfix-tls postfix-cyrus | # apt-get install libsasl2-3 postfix-tls postfix-cyrus | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Создать файл с логином/паролем {{path|/etc/postfix/sasl_passwd}}: | |||
<syntaxhighlight lang="shell"> | <syntaxhighlight lang="shell"> | ||
# vim /etc/postfix/sasl_passwd | # vim /etc/postfix/sasl_passwd | ||
smtp.gmail.com вашемейл@gmail.com:вашпароль | smtp.gmail.com вашемейл@gmail.com:вашпароль | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{Note|Если учётная запись в google подключена с двухфакторной аутентификацией, то в этом случае необходимо в настройках аккаунта google сгенерировать 16-значный «Пароль приложения» (App Passwords), и указать его (без пробелов) в файле {{path|/etc/postfix/sasl_passwd}} вместо пароля аккаунта. Иначе в логах, при отправке сообщений, будет ошибка: '''SASL authentication failed; server smtp.gmail.com'''.}} | |||
Создать базу данных из файла паролей: | |||
<syntaxhighlight lang="shell"> | <syntaxhighlight lang="shell"> | ||
# postmap hash:/etc/postfix/sasl_passwd | # postmap hash:/etc/postfix/sasl_passwd | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Ограничить права на файл: | |||
<syntaxhighlight lang="shell"> | <syntaxhighlight lang="shell"> | ||
# chmod 600 /etc/postfix/sasl_passwd | # chmod 600 /etc/postfix/sasl_passwd | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Поправить файл конфигурации postfix: | |||
<syntaxhighlight lang="shell"> | <syntaxhighlight lang="shell"> | ||
# vim /etc/postfix/main.cf | # vim /etc/postfix/main.cf | ||
Строка 33: | Строка 36: | ||
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_tls_session_cache | smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_tls_session_cache | ||
smtp_tls_session_cache_timeout = 3600s | smtp_tls_session_cache_timeout = 3600s | ||
compatibility_level = 3.6 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Добавить симлинк (иначе в логах ошибка '''fatal: SASL library initialization'''): | |||
<syntaxhighlight lang="shell"> | <syntaxhighlight lang="shell"> | ||
# ln -s /usr/lib64/sasl2-3 /etc/postfix/sasl | # ln -s /usr/lib64/sasl2-3 /etc/postfix/sasl | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Запустить postfix: | |||
<syntaxhighlight lang="shell"> | <syntaxhighlight lang="shell"> | ||
# postfix | # systemctl start postfix | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Проверяем: | |||
<syntaxhighlight lang="shell"> | <syntaxhighlight lang="shell"> | ||
# echo " | # echo "Тело сообщения" | mail -s "Заголовок сообщения" вашемейл@gmail.com | ||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Категория: Почта]] |
Текущая версия от 16:52, 22 апреля 2022
Отправка 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