Настройка внешнего SMTP-сервера в 1С-Битрикс (версия 20.5.399)
Ваша версия 1С-Битрикс: Управление сайтом 20.5.399. Обратите внимание: встроенная настройка SMTP через секцию smtp в файле settings.php доступна с версии Главного модуля 21.900.0, поэтому для вашей версии этот вариант не подходит.
Для 20.5.399 есть следующие способы подключения внешнего SMTP-сервера:
1. Настройка на VMBitrix (через меню виртуальной машины)
Если вы используете 1С-Битрикс: Виртуальная машина (VMBitrix), настройка выполняется через консоль:
- Войдите в VMBitrix под пользователем
root. - В главном меню перейдите: 8. Configure pool sites > 4. Change a site's e-mail settings.
- Введите имя хоста, для которого настраивается отправка почты.
- Укажите параметры SMTP-сервера:
- from address — адрес отправителя.
- server address or DNS — IP-адрес или DNS-имя внешнего SMTP-сервера (по умолчанию —
127.0.0.1). - server port — порт:
25для обычного соединения,465для SSL,587для STARTTLS. - SMTP authentication —
y(да) илиn(нет). Еслиy, укажите логин, пароль и метод авторизации:auto,plain,loginи др. - TLS enabled —
yилиn.
- Дождитесь завершения настройки (может выполняться до нескольких часов). Статус задач можно посмотреть в меню 5. Background tasks > 1. View running tasks.
2. Настройка на Linux (без VMBitrix)
На обычном Linux-сервере можно настроить Postfix для пересылки писем через внешний SMTP:
- Удалите sendmail (если установлен):
rpm -e --nodeps sendmail - Установите postfix:
yum install postfix /etc/postfix/post-install upgrade-package - Пересоздайте базу алиасов:
cd /etc newaliases - В файле
/etc/php.iniукажите:sendmail_path = /usr/sbin/sendmail -t -i - В конфигурации Postfix (
/etc/postfix/main.cf) пропишите relay-хост:relayhost = smtp.yourserver.com:587 smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous - Создайте файл
/etc/postfix/sasl_passwdс учётными данными:smtp.yourserver.com:587 your_login:your_password - Перезапустите postfix и Apache:
service postfix restart service httpd restart
3. Настройка на Windows
На Windows укажите SMTP-сервер в файле php.ini в параметре SMTP и smtp_port:
SMTP = smtp.yourserver.com
smtp_port = 25
sendmail_from = admin@yoursite.ru
При необходимости на Exchange-сервере разрешите приём сообщений с IP-адреса вашего сайта без авторизации.
4. Модуль «Почта» в админке (входящая почта)
Для приёма входящей почты с внешнего SMTP/POP3-сервера используется модуль «Почта»:
- Перейдите: Настройки > Настройки продукта > Настройки модулей > Почта.
- На вкладке SMTP-сервер укажите командную строку запуска PHP-скрипта SMTP-сервера (обязательно, если сайт не на VMBitrix).
- На странице Сервисы > Почта > Почтовые ящики создайте почтовый ящик с типом «Внутренний SMTP-сервер» или «Внешний POP3-сервер».
Рекомендация
Для версии 20.5.399 оптимальный вариант — настроить Postfix (на Linux) или воспользоваться msmtp, входящим в состав VMBitrix. Это позволит отправлять все письма с сайта через ваш внешний SMTP-сервер без изменения кода.
Настоятельно рекомендую обновить систему до актуальной версии — в ней появилась удобная настройка SMTP непосредственно через файл /bitrix/.settings.php и через административный интерфейс (Настройки > Почтовые и СМС события > Настройки SMTP).