Skip to content

Latest commit

 

History

History
60 lines (47 loc) · 2.01 KB

mail.md

File metadata and controls

60 lines (47 loc) · 2.01 KB

Упрощение отправки почтовых сообщений

В основном упрощение интерфейса заключается в передаче второго параметра CEvent::Send, часто происходит ошибочная ситуация когда письмо нужно отправлять и из публичной части сайта (SITE_ID) и из административного интерфейса (LANGUAGE_ID). При этом заранее неизвестно местоположение отправки сообщения (код в обработчике). Модули коробки Битрикса справляются так:

<?php

$rsSites = CSite::GetList($by="sort", $order="desc", Array());
$arSites = array();
while ($arSite = $rsSites->Fetch()) {
    $arSites[] = $arSite['ID'];
}

CEvent::Send(
    "NEW_USER",
    $arSites,
    array(
	'USER_ID' => 15,
	'LOGIN' => 'ivanov',
	'EMAIL' => '[email protected]',
	'NAME' => 'Василий',
	'LAST_NAME' => 'Иванов',
	'USER_IP' => '123.456.234.55',
	'USER_HOST' => '',
    )
);

WS-Tools упрощает использование и сокращает перечень действий разработчика. Возможно дальнейшее расширение функционала отправки почты.

<?php

$module = \WS\Tools\Module::getInstance();

// почтовый сервис
$mail = $module->mail();

// создание посылки
$newUserPackage = $mail->createPackage("NEW_USER");

// наполнение посылки данными
$newUserPackage->setFields(array(
	'USER_ID' => 15,
	'LOGIN' => 'ivanov',
	'EMAIL' => '[email protected]',
	'NAME' => 'Василий',
	'LAST_NAME' => 'Иванов',
	'USER_IP' => '123.456.234.55',
	'USER_HOST' => '',
));

// отправка посылки через почтовый сервис
$mail->send($newUserPackage);