Для настройки сервиса подключаемся к серверу по SSH.
Открываем для редактирования файл конфигурации /etc/postfix/main.cf и добавляем следующие строки:
relayhost = [smtp.yandex.ru]:465
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_tls_security_level = encrypt
smtp_generic_maps = hash:/etc/postfix/generic
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay
sender_canonical_maps = hash:/etc/postfix/canonical
myhostname = freepbx.mycompany.local
mydomain = mycompany.local
myorigin = $mydomain
mynetworks = 127.0.0.0/8
Расшифровка по каждой строчке:
relayhost = [smtp.yandex.ru]:465 //SMTP Yandex
smtp_sasl_auth_enable = yes //включаем SMTP аутентификацию
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd //указываем путь к файлу, в котором хранятся пароль и логин авторизации на SMTP
smtp_sasl_security_options = noanonymous //посылаем запрос на авторизацию в открытом виде (нешифрованные логин и пароль)
smtp_sasl_tls_security_options = noanonymous //эта строка аналогична предыдущей, но относится к шифрованному соединению по протоколу TLS.
smtp_tls_security_level = encrypt // эта строка включает шифрование по протоколу TLS для всех исходящих сообщений. Это повышает безопасность и конфиденциальность вашей почты.
smtp_generic_maps = hash:/etc/postfix/generic //данная настройка указывает на расположение файла с правилами, согласно которым необходимо подменять адрес отправителя письма
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay //указываем переназначать глобальную настройку relayhost. В данном случае мы будет сравнивать домен отправителя и релэй, куда отправлять почту.
sender_canonical_maps = hash:/etc/postfix/canonical //через какой аккаунт отправлять почту с определенного домена
myhostname = freepbx.mycompany.local //hostname нашего сервера
mydomain = mycompany.local //домен сервера
myorigin = $mydomain //при отправлении первоначального письма от пользователя root, email адрес отправителя будет root@mycompany.local (в последствие будет заменен согласно правилам переменной smtp_generic_maps)
mynetworks = 127.0.0.0/8 //авторизованная часть сети. Для отправки почты от Asterisk’а оставьте данную настройку как есть
Далее создаем файл /etc/postfix/sasl_passwd и вносим в него следующее:
[smtp.yandex.ru] логин:пароль
Создаем файл /etc/postfix/sender_relay и вносим в него следующее:
@it-crowd.by [smtp.yandex.ru]
mail@it-crowd.by [smtp.yandex.ru]
Указываем в файле /etc/postfix/canonical с какого ящика отправляется почта нашего домена:
@mycompany.local mail@it-crowd.by
Далее в файле /etc/postfix/generic осуществляем подмену отправителя:
root mail@it-crowd.by
root@localhost mail@it-crowd.by
root@localhost.localdomain mail@it-crowd.by
root@freepbx mail@it-crowd.by
root@freepbx.localdomain mail@it-crowd.by
asterisk mail@it-crowd.by
asterisk@localhost mail@it-crowd.by
asterisk@localhost.localdomain mail@it-crowd.by
asterisk@freepbx mail@it-crowd.by
asterisk@freepbx.localdomain mail@it-crowd.by
Все изменения внесены, далее выполняем 2 команды и проверяем работу сервиса:
postmap /etc/postfix/generic && postmap /etc/postfix/canonical && postmap /etc/postfix/sender_relay && postmap /etc/postfix/sasl_passwd
service postfix restart
mail -s «Test Postfix» you_mail@it-crowd.by < /dev/null
Посмотреть очередь
mailq
Принудительно запустить отправку из очереди
mailq -q
Удалить все сообщения из очереди:
postsuper -d ALL
Удалить конкретное сообщение из очереди:
postsuper -d <идентификатор письма>
Перезапустить очередь:
postfix stop
postsuper -d ALL
postfix start
Проверьте логи :
tail /var/log/maillog
