Дата последнего изменения: 18.11.2015
По умолчанию в BitrixEnv и BitrixVM используется msmtp для отправки почтовых сообщений.
Преимуществом данного решения является простота его настройки. К недостатком можно отнести медленную отправку почтовых сообщений через внешние сервисы (Google, Yandex).
В большинстве случаев, это не приводит к каким-либо проблемам, так как почтовые события отрабатывают из-под cron-a, но в ряде случаев может создать проблему - например, если почтовые события исполняются на хите (задан параметр немедленной доставки) или разработчик напрямую использует функцию mail()
.
Рассмотрим настройку отправки почтовых сообщений postfix-ом через Яндекс:
yum install cyrus-sasl-plain
/etc/postfix/main.cf
:
smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/mailpasswd smtp_sasl_security_options = noanonymous smtp_sasl_type = cyrus smtp_sasl_mechanism_filter = login smtp_sender_dependent_authentication = yes sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay sender_canonical_maps = hash:/etc/postfix/canonical smtp_generic_maps = hash:/etc/postfix/generic
/etc/postfix/mailpasswd
указываем логин и пароль:
[smtp.yandex.ru] www@some.ru:password
/etc/postfix/sender_relay
указываем привязку доменов и конкретных отправителей к внешним службам:
@some.ru [smtp.yandex.ru] www@some.ru [smtp.yandex.ru]
/etc/postfix/canonical
добавляем для домена указание через какой аккаунт отправлять почту:
@some.ru www@some.ru
/etc/postfix/generic
добавляем отправку почты админу:
root@localhost admin@mail.xx bitrix@localhost admin@mail.xx
postmap
для /etc/postfix/generic
, /etc/postfix/canonical
, /etc/postfix/sender_relay
, /etc/postfix/mailpasswd
:
postmap /etc/postfix/generic postmap /etc/postfix/canonical postmap /etc/postfix/sender_relay postmap /etc/postfix/mailpasswd
sendmail_path = sendmail -t -i -f www@some.ru ;bitrix-env
chkconfig saslauthd on service saslauthd restart chkconfig postfix on service postfix restart service zend-server restart
Скорость отправки сообщений php-скриптами значительно возрастет, а всю работу по доставке писем до внешнего сервера возьмет на себя postfix. При этом не нужно настраивать полноценный почтовый сервер.