Интеграции / WordPress
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.