Авторизация по email

В файл bitrix/php_interface/site_id/init.php добавить следующий код, который выполняется перед авторизацией:

# bitrix/php_interface/init.php
AddEventHandler("main", "OnBeforeUserLogin", "OnBeforeUserLoginHandler");

function OnBeforeUserLoginHandler(&$arFields) {
    if (isset($_POST['USER_LOGIN'])) {
        $e = htmlspecialchars($_POST['USER_LOGIN'], ENT_QUOTES);
        $filter = Array("EMAIL" => $_POST['USER_LOGIN']);
        $rsUsers = CUser::GetList(($by="id"), ($order="desc"), $filter);
        $res = $rsUsers->Fetch();
        $arFields["LOGIN"] = $res['LOGIN'];
    }
}