S
Sendersy

Sendersy + WordPress

WordPress + Sendersy: переопределение wp_mail() через mu-plugin для отправки всех WP-писем через Sendersy API. Работает с WooCommerce, Contact Form 7 и любыми другими плагинами.

1. Установка

bash
# 1) Создайте файл /wp-content/mu-plugins/sendersy-mailer.php
# 2) Добавьте SENDERSY_API_KEY как constant в wp-config.php

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

bash
// wp-config.php
define('SENDERSY_API_KEY', 'sk_live_...');
define('SENDERSY_FROM',    'WordPress <noreply@yourdomain.com>');

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

php
<?php
/**
 * Plugin Name: Sendersy Mailer
 * Description: Шлёт все вызовы wp_mail() через Sendersy API.
 * Положите файл в /wp-content/mu-plugins/sendersy-mailer.php — он подключится автоматически.
 */

if (!function_exists('wp_mail')) {
    function wp_mail($to, $subject, $message, $headers = '', $attachments = []) {
        $apiKey = defined('SENDERSY_API_KEY') ? SENDERSY_API_KEY : '';
        $from   = defined('SENDERSY_FROM')    ? SENDERSY_FROM    : get_option('admin_email');
        if (!$apiKey) return false;

        $recipients = is_array($to) ? $to : [$to];

        $resp = wp_remote_post('https://api.sendersy.com/v1/emails', [
            'headers' => [
                'Authorization' => 'Bearer ' . $apiKey,
                'Content-Type'  => 'application/json',
            ],
            'body' => wp_json_encode([
                'from'    => $from,
                'to'      => $recipients,
                'subject' => $subject,
                'html'    => $message,
                'tags'    => [['name' => 'source', 'value' => 'wordpress']],
            ]),
            'timeout' => 15,
        ]);

        return !is_wp_error($resp) && wp_remote_retrieve_response_code($resp) === 200;
    }
}

4. Использование шаблона

php
// Альтернатива: используйте WP Mail SMTP plugin
// Settings → WP Mail SMTP → выберите "Other SMTP" и укажите:
//   Host:       smtp.sendersy.com   (Postal MTA — выдаётся после добавления домена)
//   Port:       587
//   Encryption: TLS
//   Auth:       ON
//   Username:   ваш SMTP-логин (выдаётся в Sendersy dashboard)
//   Password:   ваш SMTP-пароль
// Этот путь не требует кода — все WP-письма пойдут через Sendersy SMTP.

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

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

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