Транзакционные письма настройка отправки всех писем с сайта через LeaderSend

Модуль «Транзакционные письма» от LeaderSend предназначен для отправки всех писем через нашу платформу, получать гарантированную доставку и отчетность.

Описание

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

LeaderSend предназначен для мгновенной и гарантированной доставки писем. Письма отправленные с LeaderSend соответствуют всем Анти-спам стандартам. LeaderSend не зависит от сервера и конфигураций, на котором расположена ваша web-страница, т.к. работает через API. Это означает, что LeaderSend будет работать одинаково и стабильно на любом хостинге. Например, Интернет-магазин, где пользователь сделал покупку, администратор сайта должен получить подтверждение покупки по электронной почте, если он получит его в течение нескольких секунд после запроса пользователя, то сможет максимально оперативно обработать заявку и отреагировать на нее.

Могут возникнуть ситуации, когда LeaderSend не сможет отправить ваши сообщения. Например, если не оплачен ежемесячный план или превышено количество отправок в день в бесплатной версии. В этом случае, Битрикс покажет системное уведомление администратору в панели инструментов в административном и публичном интерфейсе. В такой ситуации ваши сообщения будут отправлены с помощью стандартных решений для отправки писем в Битрикс.

Модуль работает во всех редакциях 1С-Битрикс "Управление сайтом" и "Корпоративный портал", а так же в любой кодировке, которая используется на сайте.

Статистика

Модуль «Транзакционные письма» от LeaderSend позволяет не только мгновенно отправлять письма и гарантированно доставляет их. В личном кабинете LeaderSend вы можете видеть обширную статистику по этим письмам в режиме реального времени (открытия и клики, жалобы и отписки, географическое положение, устройства и т.д.)

Для разработчиков

Модуль предлагает следующие опции:

  • Возможность добавить функции-обработчики событий до отправки письма;
  • Возможность добавить функции-обработчики событий, с помощью которых можно отменить отправку писем;
  • Возможность добавить функции-обработчики для изменения содержания письма (см. ниже) перед отправкой (содержание письма доступно только в формате raw);
  • Если вы уже используете custom_mail в Битрикс, вы можете избежать конфликтов (см. ниже) за счет функций-обработчиков, для этого достаточно перенести функционал custom_mail в обработчик события «OnStartMailSend». Это связано с тем, что модуль не может работать, если эта функция уже используется.

Функции-обработчики событий

Модуль предлагает 4 события:

OnStartMailSend
– событие происходит до генерации API запроса к LeaderSend;
OnBeforeMailSend
– событие происходит после генерации API запроса, но перед непосредственной отправкой письма;
OnMailSendError
– событие происходит после ошибки отправки письма; в функцию передается код ошибки от Leadersend, ошибка, ответ на запрос и запрос API;
OnMailSend
– событие происходит после успешной отправки сообщения;

Ниже приведены примеры использования функций-обработчиков событий:


<?php

AddEventHandler
(
    
"leadersend.transactionalemails",
    
"OnStartMailSend",
    Array(
"MyEventHandlers""OnStartMailSend")
);
AddEventHandler(
    
"leadersend.transactionalemails",
    
"OnBeforeMailSend",
    Array(
"MyEventHandlers""OnBeforeMailSend")
);
AddEventHandler(
    
"leadersend.transactionalemails",
    
"OnMailSendError",
    Array(
"MyEventHandlers""OnMailSendError")
);
AddEventHandler(
    
"leadersend.transactionalemails",
    
"OnMailSend",
    Array(
"MyEventHandlers""OnMailSend")
);

class 
MyEventHandlers
{
    
// создаем обработчик события "OnStartMailSend"
    
function OnStartMailSend(
        &
$to,
        &
$subject,
        &
$message,
        &
$additional_headers,
        &
$additional_parameters)
    {
        
$message "Modified message...";
        
        
// Если функция возвращает false, письмо не отправится
        
if ($to === "bad@example.com"){
            return 
false;
        }
    }
    
    
/**
     * создаем обработчик события "OnBeforeMailSend"
     *
     * @param array $request LeaderSend API request
     * @return mixed
     * @link http://dev.leadersend.com/api/messages#messagesSendRaw
     */
    
function OnBeforeMailSend(&$request)
    {
        
$arRecipients $request['to'];
        
$rawMessage   $request['raw'];
        
        
// Если функция возвращает false, письмо не отправится
        
foreach ($arRecipients as $recipient){
            if (
$recipient === "bad@example.com"){
                return 
false;
            }
        }
    }
    
    
// создаем обработчик события "OnMailSendError"
    
function OnMailSendError($error_code$error_message$response$request)
    {
        
AddMessage2Log("Error sending mail ($error_code): $error_message");
    }
    
    
// создаем обработчик события "OnMailSend"
    
function OnMailSend($response$request)
    {
        
AddMessage2Log("Mail sent successfully");
    }
}

Конфликт с существующей функцией custom_mail

Если вы уже используете custom_mail в Битрикс, вы может избежать конфликтов, используя функции-обработчики событий (см. ниже). В этом случае, вам необходимо перенести функцонал custom_mail в обработчик события «OnStartMailSend»:


<?php

function your_custom_mail(
    
$to,
    
$subject,
    
$message,
    
$additional_headers,
    
$additional_parameters)
{
    
$message "Modified message...";
}

AddEventHandler(
    
"leadersend.transactionalemails",
    
"OnStartMailSend",
    Array(
"MyEventHandlers""OnStartMailSend")
);

class 
MyEventHandlers
{
    
// создаем обработчик события "OnStartMailSend"
    
function OnStartMailSend(
        &
$to,
        &
$subject,
        &
$message,
        &
$additional_headers,
        &
$additional_parameters)
    {
        
your_custom_mail(
            
$to,
            
$subject,
            
$message,
            
$additional_headers,
            
$additional_parameters
        
);
    }
}

Поддержка

Сайт модуля: dev.leadersend.com

По всем вопросам, связанным с модулем, обращайтесь по адресу: info@leadersend.com

Установка

Установка модуля производится в два простых шага.

Первый. Установите модуль через раздел Marketplace.

После установки модуля перейдите в:

  1. Настройки
  2. Настройки продукта
  3. Настройки модулей
  4. Транзакционные письма
для задания настройки LeaderSend.

Для корректной работы модуля необходимо указать API ключ и домен аутентификации:

  • API ключ вы можете получить здесь;
  • домен аутентификации необходимо установить здесь.

Второй. Сделать аутентификацию домена (проверка домена на подлинность).

Для того, чтобы отправлять письма через LeaderSend, вам необходимо подтвердить подлинность вашего домена. Это означает, что доменное имя вашего адреса электронной почты, с которого будут отправляться письма, должно быть проверено, чтобы доказать, что у вас есть доступ к домену и вы можете использовать этот домен. Проверка домена на подлинность состоит из двух DNS записей с типом TXT, которые добавляются в DNS домена: DKIM и SPF. Эти DNS записи вы можете получить здесь. Для аутентификации, вы должны иметь доступ к DNS вашего домена и DNS должен поддерживать записи с типом TXT. Для добавления вашего аутентифицированного домена в LeaderSend, перейдите в раздел «Settings & Support» и выберите «Sending Domain».