Для того, чтобы отправляемая почта с нашего сервера не попадала в спам и не блокировалась, нам нужно настроить Posftix на отправку через внешний SMTP сервер.
Настроим конфигурацию Postfix
nano /etc/postfix/main.cf
Добавим в наш конфиг следующие значения:
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_auth_enable = yes
smtp_use_tls = yes
smtp_generic_maps = hash:/etc/postfix/generic
mynetworks = 127.0.0.1/32 #сети, которым разрешено выполнять пересылку через данный сервер
myhostname = pbx.less-it.ru #имя вашего локального сервера
mydomain = less-it.ru #интернет домен для почтовой службы
myorigin = $mydomain #имя домена, которое используется в почте, отправляемой с этой машины
relayhost = [mail.less-it.ru]:587 #smtp сервер с портом
В файле /etc/postfix/sasl_passwd нужно указать наш почтовый сервер с логином и паролем.
[mail.less-it.ru] pbx@less-it.ru:Password123
Сделаем подмену локальных адресов на внешние с помощью файла /etc/postfix/generic
root pbx@less-it.ru
root@pbx pbx@less-it.ru
root@pbx.less-it.ru pbx@less-it.ru
root@freepbx pbx@less-it.ru
#если почта отправляется от других пользователей
asterisk pbx@less-it.ru
asterisk@pbx pbx@less-it.ru
asterisk@pbx.less-it.ru pbx@less-it.ru
asterisk@freepbx pbx@less-it.ru
Теперь создадим хеш-файлы.
postmap /etc/postfix/generic && postmap /etc/postfix/sasl_passwd
Перезагрузим конфигурацию Postfix.
service postfix restart
Проверим отправку почты Postfix
Установим утилиту для Centos:
yum install mailx
Установим утилиту для Ubuntu:
apt-get install mailutils
Отправим тестовое сообщение для проверки.
mail -s "тема письма" admin@less-it.ru < /dev/null
Если что-то пошло не так, ошибки можно посмотреть в логе.
tail -f /var/log/maillog
Возможные ошибки:
warning: SASL authentication failure: No worthy mechs found
Исправление для Ubuntu:
apt-get install libsasl2-modules
Исправление для Centos:
yum install cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain
Ошибка, при добавлении строки в /etc/postfix/sasl_passwd указано:
[mail.less-it.ru] pbx@less-it.ru:Password123
Правильно будет:
[mail.less-it.ru]:587 pbx@less-it.ru:Password123