Обработка отправления почты в bitrix

Возникла задача - отправлять письмо о заказе, кроме клиента, на два разных ящика. Притом, ящики должны были чередоваться (в той организации два конкурирующих менеджера). Сразу возник алгоритм, что при отправке письма проверять, четный или нечетный ID заказа, и в зависимости от этого, отправлять письмо на тот, или иной ящик.
Больше всего времени пришлось затратить на поиск документации, к какому событию привязывается отправление почты. В оф. документации поиск ничего не дал - но, оказалось, что плохо искал, т.к. там эта информация была.

Для написания пригодилось знать следующее:

Событие http://dev.1c-bitrix.ru/api_help/main/events/onbeforeeventadd.php вызывается в момент добавление почтового события в таблицу b_event. Как правило, задача обработчика данного события - изменить или добавить какое-либо значение, передаваемое в макросы почтового шаблона.

Порядок выполнения страницы (в данном случае не слишком пригодилось, но однозначно полезная информация).

Почтовая система

Итак, сам код. Его надо разместить в /bitrix/php_interface/init.php.

<?
AddEventHandler("main", "OnBeforeEventAdd", array("MailCheredator", "OnBeforeEventAddHandler"));

class MailCheredator {
    function OnBeforeEventAddHandler(&$event, &$lid, &$arFields) {
        $arFields["SALE_EMAIL"] = "sale_mail@example.ru";
        $arFields["BCC"] = "";
        if (intval($arFields["ORDER_ID"]) % 2 == 1) {
            $arFields["EMAIL"] = $arFields["EMAIL"]. ",email1@example.ru";
        } else {
            $arFields["EMAIL"] = $arFields["EMAIL"]. ",email2@example.ru";
        }
    }
}
?>

Здесь,
SALE_EMAIL - в моем случае, адрес, с которого отправляется письмо (у вас может быть другой!).
BCC - сюда отправляются копии письма, которые не должен видеть тот, кому отправляется письмо (можно было email1 и email2 сюда записать).
EMAIL - адрес, куда отправится письмо. Можно перечислять через запятую.

bitrix