S
Sendersy
Интеграции / 1С-Битрикс

Sendersy + 1С-Битрикс

Битрикс + Sendersy: подключение через обработчик события OnBeforeMailEvent или через прямой POST в /v1/emails из ваших скриптов.

1. Установка

bash
# 1) Положите файл в /local/php_interface/include/sendersy_mailer.php
# 2) Подключите его в /local/php_interface/init.php

2. Переменные окружения

bash
// /bitrix/.settings.php  или  /local/php_interface/init.php
define('SENDERSY_API_KEY', 'sk_live_...');

3. Отправка письма

php
<?php
// /local/php_interface/include/sendersy_mailer.php
namespace Local\Sendersy;

use Bitrix\Main\EventManager;
use Bitrix\Main\Web\HttpClient;
use Bitrix\Main\Web\Json;

class Mailer
{
    public static function register(): void
    {
        $em = EventManager::getInstance();
        $em->addEventHandler('main', 'OnBeforeEventSend', [self::class, 'onBeforeEventSend']);
    }

    public static function onBeforeEventSend(&$arFields, &$arMessage): bool
    {
        $apiKey = defined('SENDERSY_API_KEY') ? SENDERSY_API_KEY : '';
        if (!$apiKey) return true;

        $to = is_array($arFields['EMAIL_TO'] ?? null)
            ? $arFields['EMAIL_TO']
            : [$arFields['EMAIL_TO'] ?? ($arMessage['EMAIL_TO'] ?? '')];

        $http = new HttpClient(['socketTimeout' => 15]);
        $http->setHeader('Authorization', 'Bearer ' . $apiKey);
        $http->setHeader('Content-Type',  'application/json');

        $http->post('https://api.sendersy.com/v1/emails', Json::encode([
            'from'    => $arFields['MESSAGE_FROM'] ?? ($arMessage['EMAIL_FROM'] ?? 'noreply@yourdomain.com'),
            'to'      => array_filter($to),
            'subject' => $arMessage['SUBJECT']    ?? '',
            'html'    => $arMessage['MESSAGE']    ?? '',
            'tags'    => [['name' => 'source', 'value' => 'bitrix']],
        ]));

        // Верните false если хотите, чтобы Битрикс НЕ отправлял через свой штатный mail()
        return false;
    }
}

// /local/php_interface/init.php
\Local\Sendersy\Mailer::register();

Готовы попробовать?

Получите API-ключ за 30 секунд.

Создать аккаунт