Партнер 1С-Битрикс
Разработка и поддержка сайтов на 1С-Битрикс

  8 (8152) 78-54-20
Закрыть

Статьи

Отправка писем из 1С-Битрикс

Не отправляется письмо из Битрикса! Почему?

Не редкость что у пользователей или начинающих программистов после установки продукта по каким то непонятным причинам не происходит отправка писем из 1С-Битрикс.

Перед тем как приступать к устранению попробуйте проверить отправляется ли почта через функцию php, mail. Проверить можно в левом меню Настройки -- Инструменты -- Командная PHP-строка. В текстовом поле введите примерно следующее.
$headers = "From: test@". $_SERVER['HTTP_HOST'] . "\r\n" .
    "Reply-To: test@". $_SERVER['HTTP_HOST'] . "\r\n" .
    "X-Mailer: PHP/" . phpversion();
if( mail("mymail@mydomain.ru","my test theme","my test message",$headers) ){
    echo "Почта работает!";
}else{
    echo "Почта не работает! Скорее всего проблема в sendmail";
}

Как правило на это есть всего несколько основных причин.

Первая причина: Битрикс установлен у вас на локальном ПК. Соответственно вам необходимо настроить почтовик.
Настройка почтовика очень проста:
1) Откройте настройки Битрикс веб окружения;
2) Настройте подобным образом ка на рисунке
Настройка localhost рис.1
В разделе почта настройте сервер SMTP укажите к примеру SMTP сервер вашей реальной почты. В отправителя впишите ваш почтовый ящик. Логин как правило это либо имя ящика либо его полное название т.е. mymail@mydomain.ru. И не забудьте поставить галочку Использовать авторизацию, т.к. в большинстве случаев она необходима.

Вторая причина: Виноват ваш хостинг. Либо стоит ограничение на количество отправки писем в час/сутки либо на хостинге не верно указан отправитель. Вариантом исправления может быть далеко не один. Мы расскажем вам о паре вариантов в ОС Linux Debian.
Первый если у вас установлен ispmanager (так же подходит для тех у кого виртуальный хостинг) отредактируйте файл /var/www/USER/data/php-bin/.php.ini если в нем нет строки sendmail_path = "/usr/sbin/sendmail -t -i -f mymail@mydomain.ru" добавьте ее mymail@mydomain.ru измените на ваш реальный почтовый ящик (существующий).
Второй у вас голый сервер т.е. только консоль. То выясните в каком режиме работает ваш сайт. К примеру если в режиме CGI, fastCGI то отредактируйте файл /etc/php5/cgi/php.ini. Найдите в этом файле строку sendmail_path как показано на рисунке
Настройка отправки почты рис.1
раскомментируйте sendmail_path и исправьте ее как в первом варианте на sendmail_path = "/usr/sbin/sendmail -t -i -f mymail@mydomain.ru". Сохраните и перезапустите apache.

Третья причина: Пожалуй самая глупая. Не выбран сайт в почтовом шаблоне Битрикс, на рисунке все четко показано.
Почтовый шаблон битрикс
Необходимо просто поставить галочку и сохранить почтовый шаблон. Почтовые шаблоны нахолятся в левом меню Настройки -- Настройки продукта -- Почтовые события -- Почтовые шаблоны. Обязательно проверьте что бы на необходимых шаблонах был выбран ваш сайт.




Возврат к списку

Наши клиенты