Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Сравнение mail() и CEvent::Send

00 голосов
5
Здравствуйте объясните пожалуйста в чем разница использования стандартной функции mail и класса CEvent::Send.

Мои предположения:
-Как я понимаю CEvent::Send до отправки письма сохраняет данные о событии в таблицу b_event.
-И еще наткнулся на функцию SendImmediate где то читал что она не записывает события в базу а сразу отправляет письма.

Опровергните если не так и объясните разницу между тремя этими функциями CEvent::Send, CEvent::SendImmediate, и стандартной mail().

И еще один вопросик почему может не работать CEvent::Send в то время когда через mail() все нормально отсылается, может дело в фаерволе на хостинге или еще в чемто. Где вобще в Битрикс Старте натраиваются параметры почтовых сообщений (не шаблонов а именно сервера отправки)?

С уважением Авдеев Марк.

P.S. Не судите строго если что не так, я новичек в использовании этой CMS.
спросил 06 Ноя, 13 от Vika86 (100 баллов)

5 Ответы

00 голосов
CEvent::Send создает почтовое событие, далее в конце обработки страницы функция CEvent::CheckEvents обрабатывает все почтовые события и рассылает письма созданные на основе почтовых шаблонов связанных с этими событиями. Как-то так. Более подробно здесь.

Если mail работает, CEvent::Send нет, то попробуйте в dbconn.php определить следующие константы:
Код
define("BX_CRONTAB_SUPPORT", false);
define("BX_CRONTAB", false);
ответил 15 Дек, 13 от Fka (340 баллов)
00 голосов
Спасибо за ссылку, как раз после создания темы, прочел эту инфу.

Добавления кода в dbconn.php к сожалению не помогло, в таблице b_event, на против событий в колонке SUCCESS_EXEC стоит Y следовательно попытка отправки была, и на стороне битрикса вроде как все должно быть сделано правильно.

Но тем не менее все равно сообщения не приходят на ящик? В чем еще может быть проблемма?
ответил 30 Март, 14 от Vika86 (100 баллов)
00 голосов
Цитата
Mark Avdeev пишет:
на против событий в колонке SUCCESS_EXEC стоит Y


Если стоит Y, значит письмо отправилось без ошибок. А какое событие не срабатывает, стандартное?
ответил 23 Июль, 14 от Fka (340 баллов)
00 голосов
Создал текстовый шаблон для типа шаблонов USER_INFO, в полях "кому" и "от кого" вписал свои емаил. ID шаблона = 77.
Пробую таким кодом:
Код
$arEventFields= array(
"text"=>"тестовое сообщение"
);

CEvent::Send("USER_INFO", SITE_ID, $arEventFields, "N", 77);


Результат нулевой.

Пробую:

Код
mail("mark-avdeev@mail.ru", "пароль", "парольссс");


Письмо доходит.
ответил 24 Ноя, 14 от Vika86 (100 баллов)
00 голосов
Заходите в Настройки - Настройки продукта - Почтовые события - Типы почтовых событий, далее заходите в событие USER_INFO, вкладка шаблоны, есть что-нибудь?
Если есть переходим в настройки шаблона, смотрим чтобы шаблон был активным, чтобы был выбран хотя быть один сайт, чтобы в поле кому стоял существующий e-mail или #EMAIL# (для проверки можете пока жестко прописать e-mail).
ответил 20 Март, 15 от Fka (340 баллов)

Похожие вопросы

0 голосов
2 ответов
0 голосов
2 ответов
спросил 07 Май, 14 от Tafna (100 баллов)
0 голосов
3 ответов
спросил 19 Март, 14 от cartmen (460 баллов)
0 голосов
0 ответов
спросил 23 Янв, 14 от KENTS (280 баллов)
+1 голос
4 ответов
спросил 22 Дек, 13 от HeJIJIu (630 баллов)