← К заметкам

Заметки

MailEvent::sendImmediate не отправляет письмо

Mail\Event::sendImmediate() обрабатывает почтовое событие сразу, но успешный вызов ещё не подтверждает доставку в ящик адресата. До SMTP письмо проходит выбор почтового шаблона.

Проверьте точное EVENT_NAME, активность шаблона и его привязку к LID. Если шаблон ждёт #EMAIL_TO#, а в C_FIELDS передан только EMAIL, адрес получателя не заполнится.

$result = \Bitrix\Main\Mail\Event::sendImmediate([
    'EVENT_NAME' => 'CUSTOM_EVENT',
    'LID' => 's1',
    'C_FIELDS' => [
        'EMAIL_TO' => 'reader@example.com',
        'TEXT' => 'Проверка отправки'
    ]
]);
var_dump($result);

Код выполняется в коробке после загрузки ядра; событие и шаблон должны уже существовать. Посмотрите фактический результат метода своей версии, затем журнал почтового транспорта. Для sendImmediate() ожидание обработки обычной очереди не является первым шагом диагностики.

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