Задача:
Настроить отправку почты из linux системы через существующий почтовый аккаунт с помощью postfix:
- SMTP: smtp.example.com:port
- smtp login: username
- smtp pass: password
Решение:
Предполагается, что все нужные пакеты уже установлены (yum install postfix cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain)
Прописываем опции в /etc/postfix/main.conf :
relayhost = [smtp.example.com]:port smtp_sasl_auth_enable = yes smtp_sasl_mechanism_filter = smtp_sasl_password_maps = hash:/etc/postfix/saslpass smtp_sasl_security_options = noanonymous
Создаем файл для авторизации:
# echo -e "\n[smtp.example.com]:port username:password\n" >> /etc/postfix/saslpass # chmod 600 /etc/postfix/saslpass # postmap /etc/postfix/saslpass
Перечитываем конфигурацию:
# /etc/init.d/postfix reload
Примечание!
- Если необходимо заменить адрес отправителя (например, не каждый SMTP пропустит несуществующий домен и выдаст ошибку: Sender address rejected: Domain not found), то следует добавить таблицу сопоставления, например так:
# echo -e "\nsmtp_generic_maps = hash:/etc/postfix/generic\n" >> /etc/postfix/main.cf # echo -e "\n@example.local username@example.com\n" >> /etc/postfix/generic # postmap /etc/postfix/generic # /etc/init.d/postfix reload
Ссылки по теме: