Рейтинг: 1.2071  
На голосовании
Предложил Казаков Алексей 26.06.2017 17:17:22

Сделать отложенный вызов событий CEvent

Метод CEvent::Send() отправляет почтовые шаблоны по типу почтового события. Вернее, помещает их в очередь и потом выполняется либо по крону, либо на хитах.

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

Кейс:
на сайте происходит какое-то событие, которое подразумевает отправку письма. Но хотелось бы, чтоб это письмо ушло не сейчас сразу, а, к примеру, через час, или вообще в конкретно заданное время (+-, само собой, с поправкой на регулярность запуска событий CEvent)
Рейтинг: 3.7537  
На голосовании
Предложил Баринов Кристиан 06.11.2014 09:53:41

Осуществить проверку успешности доставки почты через CEvent::Send, CEvent::SendImmediate

В Битриксе есть функционал по проверке системы: Настройки->Инструменты->Проверка сайта. Одним из пунктов является тестирование работоспособности php-функции mail. На основе успешности этого теста делается вывод об успешности работоспособности почты.

Но чаще всего мы пользуемся функциями (CEvent::Send,  CEvent::SendImmediate) Битрикса, используя функционал почтовых шаблонов.

Поэтому предлагаю тестировать не только ф-цию mail, но и ф-цию CEvent::Send или CEvent::SendImmediate. Дело в том, что успешная отправка письма на определенный ящик с помощью ф-ции mail не означает, что отправка на этот же ящик будет успешна и с помощью ф-ции CEvent::Send. Очень много убеждался в этом, особенно это касается таких почтовиков, как Gmail, Mail, Yandex.

У нас что ни проект, обязательно упираемся в проблему почты и  СEvent::Send (здесь дело не в кроне и не в отсутствии хитов - письмо не доходит до адресата). Было бы просто прекрасно, если бы тест выдавал список действий, который нужно совершить на сервере или в настройках сайта, чтобы CEvent:Send отправлял и на Гмайл и на др. "каверзные" почтовики. Обычно в логи ложится ошибка о спаме. Могут ли программисты Битрикса взять эту проблему на себя?

Это было бы очень круто - сразу проверить, работает ли CEvent::Send и, если она не работает, выполнить какие-нибудь настройки/рекомендации и после убедиться, что она работает.

UPD: написал, а сам думаю: а решаема ли эта задача... В любом случае, она очень непростая. Мб, как-нибудь читать логи почты?..