Настройка SMTP в Postfix для FreePBX Distro
Систематически очень важно принимать на электронную почту уведомления о сбоях, статистику по вызовам, принятые факсы и вообще состояние системы. Для этого во FreePBX немало встроенных модулей и механизмов, но практически все используют команду sendmail без авторизации на почтовом SMTP сервере, и все наши уведомления и письма, прямиком улетают в спам, или не проходят фильтры почтовых серверов. Для решения этой проблемы целесообразно использовать аутентификацию SMTP. Для нашего примера мы будем использовать учетную запись от почтовика gmail. В системе уже стоит сконфигурированный почтовый сервер Postfix.
После создания учетной записи в gmail необходимо разрешить непроверенные приложения, для того чтобы наш postfix мог без труда подключиться:
Пропишем учетные данные gmail в наш почтовый сервер. Замените smtp_user и smtp_passwd вашим логином и паролем Gmail и выполните следующую команду:
echo "smtp.gmail.com smtp_user:smtp_passwd" > /etc/postfix/sasl_passwd
Создаем хеш файл, потому как пароль не храниться в открытом виде, следующая команда создаст файл с именем sasl_passwd.db в директории /etc/postfix/:
postmap hash:/etc/postfix/sasl_passwd
Далее необходимо добавить настройки подключения в файл /etc/postfix/main.cf. В нашем случае предполагается, что корневые сертификаты OpenSSL, расположены в /etc/pki/tls/certs/ca-bundle.crt поэтому:
nano /etc/postfix/main.cf
smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_security_level = secure smtp_tls_mandatory_protocols = TLSv1 smtp_tls_mandatory_ciphers = high smtp_tls_secure_cert_match = nexthop smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt relayhost = smtp.gmail.com:587
Рестартуем наш почтовый сервер:
service postfix restart
Смотрим логи работы сервера:
tail /var/log/maillog
И делаем тестовую отправку, сообщения на указанный ящик:
mail -s test mail@yandex.ru < /dev/null
yum install mailx
Для изменения имя хоста сервера hostname в CentOS:
nano /etc/sysconfig/network
...
HOSTNAME=www.example.com
...
После выполняем команду:
#hostname www.example.com
Далее открываем фал /etc/hosts и редактируем или добавляем строку:
127.0.0.1 www.example.com localhost localhost.localdomain
И реcстартуем сеть:
/etc/init.d/network restart
Если вам не очень хочется разбираться с данными настройками можно купить коммерческий модуль SysAdmin Pro для FreePBX с данным функционалом на борту, либо оплатить работу интеграторов, за решения данного вопроса.
Коментарии: