Для настройки сервиса подключаемся к серверу по 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

Настройка postfix в FreePBX