Битрикс: настройка отправки писем через сервер SMTP в BitrixEnv (CentOS 7)

Настройка отправки почты, на базе yandex pdd, без сторонних модулей на сборке BitrixEnv (CentOS 7):

Установим cyrus-sasl:

yum install cyrus-sasl-2.1.26-21.el7.x86_64

Установим postfix:

yum install postfix

Нужно создать файлы в папке /etc/postfix/

файл: mailpasswd

[smtp.yandex.ru]        you_login@you_doman.ru:you_password

файл: sender_relay

@you_domain.ru                   [smtp.yandex.ru]

you_login@you_doman.ru     [smtp.yandex.ru]

В конец файлов в папке /etc/postfix добавить

файл: canonical

@ you_doman.ru        you_login@you_doman.ru

файл: generic

root@localhost          you_login@you_doman.ru

bitrix@localhost         you_login@you_doman.ru

Пересобрать файлы:

postmap /etc/postfix/generic
postmap /etc/postfix/canonical
postmap /etc/postfix/sender_relay
postmap /etc/postfix/mailpasswd

В конец файла /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
smtp_use_tls = yes

Запустить и добавить в автозагрузку демоны:

systemctl enable postfix
systemctl start postfix
systemctl enable saslauthd
systemctl start saslauthd

В файл /etc/php.ini в секции [mail function] добавить:

sendmail_path = sendmail -t -i -f you_login@you_domain.ru

В файле /etc/php.d/bitrixenv.ini закомментировать:

;sendmail_path = msmtp -t -i

Перезапустить Apache:

service httpd restart

Проверить корректность работы:

Рабочий стол -> Настройки -> Инструменты -> Командная PHP-строка

mail(‘почта куда придет тестовое письмо’, ‘My Subject’, ‘Привет!’,»From: you_login@you_domain.ru»);

Для проверки корректности работы демонов после перезагрузки перегружаем сервер:

reboot -h now

Проверить корректность работы:

Рабочий стол -> Настройки -> Инструменты -> Командная PHP-строка

mail('почта куда придет тестовое письмо', 'My Subject', 'Привет!',"From: you_login@you_domain.ru");

Все работает!

Почта теперь уходит быстро и без сторонних модулей.

Facebook Comments

Леонид Чернядьев

Увлекаюсь программированием, интернет маркетингом, прогнозированием, дизайном и версткой. Принимаю заказы на лидогенерацию. Связь через - https://www.facebook.com/lenid.chernyadyev