Default email from


Приветствую читателей thisis-blog.ru!

В сегодняшней статье хочу рассказать об основных проблемах с почтой в CMS 1с-Битрикс.
Порой до адресата не доходят письма и нужно понять, а отправляются ли они вообще? А может они были отправлены, но возникли, какие-то другие ошибки. Так что же делать в таких ситуациях?

Проверить отправляются ли письма

Для проверки достаточно на любой страничке написать следующий php код:

 <? $mail="my@mail.ru"; // ваша почта $subject ="Test" ; // тема письма $text= "Line 1nLine 2nLine 3"; // текст письма if( mail($mail, $subject, $text) ) { echo 'Успешно отправлено!'; } else{ echo 'Отправка не удалась!'; } ?> 

Либо использовать для отправки письма функцию bitrix CEvent::Send.

Если письмо не пришло, можно обращаться в тех. поддержку хостера.

Список отправленных писем

В битриксе нет как такого инструмента, который бы показывал сработавшие почтовые шаблоны и соответствующие отправленные письма. Но всё таки существует обходной путь, как просмотреть их.


Для этого нужно зайти в Админку Битрикс, далее Настройки -> Инструменты -> SQL-запрос. Ввести следующий sql код:

 select * from b_event where event_name like '%form%' order by date_insert desc 

Вместо %form% нужно указать конкретный тип почтового события например так, чтобы посмотреть отправленные письма о новых заказах:

 select * from b_event where event_name like 'SALE_NEW_ORDER' order by date_insert desc 

Либо можете вообще убрать вторую строку. В результате получите таблицу всех сработавших событий. Нас интересует колонка SUCCESS_EXEC. Если значение ‘Y’ обращаемся в тех. поддержку хостинга.

Если ‘N’, то перейдите по пути: <вашсайт>/bitrix/php_interface/dbconn.php

Закомментируйте или удалите следующие строки:

 define('BX_CRONTAB', true); define('BX_CRONTAB_SUPPORT', true); 

Попробуйте протестировать снова. Если после этого SUCCESS_EXEC также имеет значение ‘N’, то перейдите в  <вашсайт>/bitrix/managed_cache/ . Удалите содержимое через модуль управления структурой( не в коем случае не используйте FTP). Если вылезет ошибка, то не хватает доступа. Измените доступ к папкам и повторите снова.

Возможная ошибка- почтовый сервер не поддерживает формат письма. Попробуйте изменить настройки отправки.

  • Убрать BBC
  • Убрать дублирование email в заголовке
  • Установить Конвертировать 8-битные заголовки

Если ничего не помогло, попробуйте запросить у хостера логи почтового сервера.

Хочу рассмотреть частный случай:

 Не приходят на почту уведомления о заполнении веб-форм

Шаги решения проблемы:

  1. Переходим в админ панель: Настройки -> Настройки продукта ->Настройки модулей  -> Веб-формы. Отключаем флажок «использовать упрощенный режим». Переходим к настройкам компонента веб-форм на сайте. Вкладка дополнительно. Должен присутствовать флажок активирующий привязку к почтовому шаблону.
  2. Переходим: Панель управления -> Настройки -> Настройки продукта -> Почтовые события. Находим почтовый шаблон для веб-формы. Проверяем правильность данных:
  • Шаблон должен быть активен;
  • Привязан к одному из сайтов(если многосайтовость);
  • От кого: #DEFAULT_EMAIL_FROM#;
  • Кому: #DEFAULT_EMAIL_FROM#».

Спасибо за внимание, также читайте статью про то, как Добавить поле в почтовый шаблон.

 

 

thisis-blog.ru

Цитата
Wincert пишет:
#BCC# — E-Mail скрытой копии

По идее тут ставите что хотите.

Цитата
Wincert пишет:
#ORDER_LIST# — состав заказа

Можно примерно так:

Код
$retStr = "";  $resBasketItems = CSaleBasket::GetList(                          array("NAME" => "ASC", "ID" => "ASC"),                            array(                             "FUSER_ID" => CSaleBasket::GetBasketUserID(),                             "LID" => SITE_ID,                        &nbs.  

nbsp;       "ID", "CALLBACK_FUNC", "MODULE",                            "PRODUCT_ID", "QUANTITY", "DELAY",                            "CAN_BUY", "PRICE", "WEIGHT", "NAME",                            "DETAIL_PAGE_URL")                          ); while ($arItems = $resBasketItems->Fetch()) {    if (.

;  $arItems["MODULE"],                         $arItems["PRODUCT_ID"],                         $arItems["QUANTITY"]);                         $arItems = CSaleBasket::GetByID($arItems["ID"]);    }    if ($arItems["CAN_BUY"]=="Y" && $arItems["DELAY"]=="N")    {       $arStrForMail .= $retStr." - ".$arItems["QUANTITY"]." шт.\n";    } }

CSaleBasket::UpdatePrice вызывается как колбек функция, если она прописана у элементов. Можно не ломать голову зачем это — это требуется включать при любой обработки корзины.
В $arStrForMail у вас будет список позиций заказа.
Обращаю внимание, что данный цикл надо делать до вызова CSaleBasket::OrderBasket();, потому что потом текущая корзина пользователя опустеет.

Цитата
Wincert пишет:
#SALE_EMAIL# — E-Mail отдела продаж

COption::GetOptionString("sale", "order_email");

Цитата
Wincert пишет:
#DEFAULT_EMAIL_FROM# — E-Mail адрес по умолчанию (устанавливается в настройках) #SITE_NAME# — Название сайта (устанавливается в настройках) #SERVER_NAME# — URL сервера (устанавливается в настройках)

Насчет этого не надо греть голову- Битрикс подставит сам.

bx-qa.com

Решение проблемы с отправкой уведомления о заполнении веб-форм

1.

Проверьте, пожалуйста, настройки почтового события заполнения формы и его шаблона.

Откройте Панель управления — Настройки — Настройки продукта — Почтовые события; выберите событие.


На первой закладке, должны стоять галочки возле используемых на Вашем сайте кодов языка.
На закладке «шаблоны» должна стоять галочка возле имени Вашего сайта, хотя бы у одного шаблона (обычно он там как раз один).
Также, в настройках выбранного почтового шаблона (можно перейти прямо по ссылке со страницы «шаблоны», не забудьте только перед этим нажать «применить», если были сделаны какие-то настройки), должна стоять галочка «активен», и также должен быть выбран Ваш сайт.
Также должны быть корректно заполнены поля «от кого» и «кому» (значения по-умолчанию #DEFAULT_EMAIL_FROM# и #EMAIL#, соответственно).

2.

Если все эти настройки соответствуют истине, то в настройках модуля веб-формы отключите флаг «использовать упрощенный режим», перейдите в настройки соответсвующей формы, вкладка дополнительно, убедитесь, что флаг привязки к почтовому шаблону проставлен. Если и здесь все в порядке, то перейдите, пожалуйста, в Настройки-Инструменты-SQL-запрос и выполните такой запрос:

select * from b_event where event_name like '%form%' order by date_insert desc

Default email from

Найдите событие заполнения формы, смотрите в поле SUCCESS_EXEC:

  • стоит Y — письмо из продукта ушло, дальнейшую его судьбу попросите отследить администратора хостинга

  • стоит N — зайдите в файл /bitrix/php_interface/dbconn.php и проверьте не определены ли у Вас константы BX_CRONTAB и BX_CRONTAB_SUPPORT, если да — убрать их определение вообще из этого файла.
    Если после этого SUCCESS_EXEC также N, то необходимо перейти в папку /bitrix/managed_cache/ и попытаться удалить содержимое (обязательно через модуль управления структурой, а не через FTP), если получите ошибку — значит необходимо исправить проблему с доступом продукта к папкам, чтобы Вы могли удалить файлы и папки из кеша.
  • Стоит F — функция mail() по какой-то причине вернула False при отправке. Наиболее типичные проблемы: 1. Не настроена функция mail() на хостинге. Решается с хостером. 2. Почтовый сервер не поддерживает формат письма. Пробовать изменять настройки отправки, убирать поле ВСС, убирать галочку «Дублировать email адрес в заголовке», ставить «Конвертировать 8-битные заголовки». Не помогает — запросить логи у администратора почтового сервера, чтобы посмотреть, в чем конкретно ошибка при отправке.
  • Стоит 0 (ноль) — значит, что-то неверно в настройках из пп.1-2 — проверьте еще раз.

skeitol.ru


Без обратной связи сайт словно паралитик: все видит, а сказать ничего не может. Не поступают данные с веб — форм, корпоративные ящики не работают совсем или настраиваются с удивительными ухищрениями. Деньги заплачены, а про-стей-шая, э-ле-мен-тар-ней-шая, важ-ней-шая рабочая задача не решена! Что делать?

 
Проверяем настройки почтового события веб-формы и связанные шаблоны

Давайте перейдем по пути Панель управления -> Настройки -> Настройки продукта -> Почтовые события и выберем событие.

1. На первой вкладке галочки кодов языка включены?

2. На вкладке «Шаблоны» галочка имени сайта включена?

3. Почтовый шаблон активен?

4. Поле «От кого» заполнено верно (по умолчанию #DEFAULT_EMAIL_FROM#) ?

5. Поле «Кому» заполнено верно (по умолчанию #EMAIL#) ?

Все верно? Смотрим дальше. В настройках модуля веб-формы отключите галочку «использовать упрощенный режим». Перейдите в настройки формы на вкладку «дополнительно» и проверьте, включен ли флаг привязки к почтовому шаблону. Готово?

Перейдите по адресу Настройки -> Инструменты -> SQL-запрос и выполните такой запрос:

select * from b_event where event_name like ‘%form%’ order by date_insert desc


Найдя событие выполнения формы, просмотрите поле SUCCESS_EXEC. Если видите «Y», то письмо из продукта ушло, и вам следует отправить запрос в техподдержку хостинга. Если видите «N», то перейдите в файл

/bitrix/php_interface/dbconn.php

и проверьте, определены ли 2 переменные: BX_CRONTAB и BX_CRONTAB_SUPPORT. Если да, то отмените определение.

Повторите SQL-запрос и снова просмотрите поле SUCCESS_EXEC. Если снова видите «N», очистите кэш в папке  /bitrix/managed_cache/ через модуль управления структурой. Ни в коем случае ни через FTP! Если модуль выдаст ошибку, исправьте права доступа к папкам.

Если же значение «F», то функция mail() вернула значение False при отправке. Почему так бывает:

1. Не настроена функция mail() на хостинге. Обратитесь в техподдержку хостера.

2. Почтовый сервер не поддерживает формат письма. Попробуйте изменять настройки отправки, убирать поле ВСС, убирать галочку «Дублировать email адрес в заголовке», ставить «Конвертировать 8-битные заголовки». Если не поможет, запросите у администратора логи почтового сервера.

Наконец, если в поле «0», вернитесь к началу, настройкам почтовых событий, и проверьте заново.

 
Спасибо за внимание!
Читайте свежий выпуск «Кладовки программиста» каждый день!

Назад в раздел

www.acrit-studio.ru


You May Also Like

About the Author: admind

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.