[QUOTE]Рустам Салпагаров пишет:
[QUOTE]Александр Мушников пишет:
если кому-то будет интересно могу этот скриптик сюда кинуть.
я так понимаю - проблема эта возникает только у использующих нескольких поддоменов :) [/QUOTE]Здравствуйте, Александр. Был бы очень признателен, если поделились бы скриптиком и кратким описанием, что и как поменять, чтобы заработало всё :) .[/QUOTE]Здравствуйте.
в архиве 2 файла: скрипт для отправки e-mail подтверждения и init.php (в коем стоит его вызов)
архив можно скачать по ссылке: [url=http://rasteryaev.avm.dp.ua/download/bitrix-alternative_user_mail_confirm.rar]bitrix-alternative_user_mail_confirm.rar[/url]
особых инструкций нет. скрипты должны находится в тех-же папках на сервере, в которых они находятся в архиве. если у вас уже есть в папке: /bitrix/php_interface/ скрипт: init.php то тогда из init.php (который в архиве) все что находится между тегами PHP необходимо скопировать в ваш init.php.
для того что-бы все работало - необходимо, что-бы для нужного сайта имелся активный почтовый шаблон для типа события NEW_USER_CONFIRM, и в шаблоне должны использоваться следующие поля:
[B]Доступные поля:[/B]
[url]#USER_ID#[/url] - ID пользователя
[url]#LOGIN#[/url] - Логин
[url]#EMAIL#[/url] - EMail
[url]#NAME#[/url] - Имя
[url]#LAST_NAME#[/url] - Фамилия
[url]#USER_IP#[/url] - IP пользователя
[url]#USER_HOST#[/url] - Хост пользователя
[url]#CONFIRM_CODE#[/url] - Код подтверждения
[url]#DEFAULT_EMAIL_FROM#[/url] - E-Mail адрес по умолчанию (устанавливается в настройках)
[url]#SITE_NAME#[/url] - Название сайта (устанавливается в настройках)
[url]#SERVER_NAME#[/url] - URL сервера (устанавливается в настройках)
если у вас в почтовом шаблоне используются некоторые другие названия полей, и вы не хотите их менять, то тогда измените эти поля в скрипте, в фунции отправки: Send_Mail_Only_Fixed( $event, $lid, $arFields, $mail_to, $debugging )
еще сделана возможность насильно указать при вызове e-mail адресата в параметре $mail_to, если он не пустой, то используется он. так например в init.php вызывается эта функция:
Send_Mail_Only_Fixed( "NEW_USER_CONFIRM", SITE_ID, $arFields, $arFields[ "EMAIL" ], "RETURN_DEBUG_INFO" );
последний параметр - любая непустая строка ( "RETURN_DEBUG_INFO" ) приводит к возврату массива с отладочной информацией. если все работает правильно и отладка не нужна - его указывать не нужно.
P.S. перед тем как использовать альтернативную отправку - проверьте, может быть у вас и так все работает, а отправленные письма с подтверждениями успешно ложаться в "СПАМ" у вас или у вашего почтового провайдера. в этом случае нужно изменить всего-лишь настройки вашего СПАМ - фильтра в вашем почтовом ящике.