wpmail.ru wordpress WP Mail

Как отправлять письма через API Mailjet в WordPress

Почему стоит использовать Mailjet для отправки писем в WordPress

Отправка писем напрямую с хостинга сайта часто приводит к проблемам с доставляемостью: письма попадают в спам или вовсе не доходят до получателя. Mailjet — это надежный сервис email-рассылок с удобным API, который позволяет интегрировать отправку писем в WordPress, обходя ограничения хостинга и повышая доставляемость.

Mailjet поддерживает отправку транзакционных и маркетинговых писем, предоставляет подробную аналитику и инструменты управления контактами. Использование API — более гибкий способ по сравнению с SMTP, особенно если нужны автоматические рассылки или кастомизация писем через код.

В этой статье разберем, как настроить отправку писем через API Mailjet на WordPress с примерами кода и полезными рекомендациями.

Настройка аккаунта Mailjet и получение API ключей

Первым шагом нужно зарегистрироваться на официальном сайте Mailjet. После подтверждения email и входа в личный кабинет перейдите в раздел API Keys.

Там создайте новый набор ключей: Public Key и Private Key. Эти ключи понадобятся для аутентификации при отправке писем через API.

Рекомендуется ограничить права ключей по необходимости и сохранить их в безопасном месте. Их использование в коде будет рассмотрено далее.

Выбор способа интеграции Mailjet с WordPress

1. Использование плагина Mailjet для WordPress

Самый простой способ — установить официальный плагин Mailjet из репозитория WordPress. Он позволяет настроить связь с сервисом через API, управлять шаблонами и отправлять письма без необходимости писать код.

Плагин поддерживает:

  • автоматическую отправку писем WordPress через Mailjet;
  • импорт и синхронизацию контактов;
  • создание и управление email-шаблонами;
  • статистику по отправленным письмам.

Для установки перейдите в админ-панель WordPress → Плагины → Добавить новый, найдите Mailjet, установите и активируйте.

2. Самописная интеграция через PHP и API Mailjet

Если нужна тонкая настройка или отправка писем из кастомных функций, рекомендуется использовать API напрямую. Для этого можно использовать официальный SDK Mailjet на PHP или делать запросы к API вручную.

Установка SDK через Composer:

composer require mailjet/mailjet-apiv3-php

Если Composer не используется, можно скачать SDK с GitHub и подключить вручную.

Пример отправки письма через API Mailjet в WordPress

Ниже пример функции для отправки email по событию в WordPress с использованием SDK Mailjet. Функцию назовем wpmail_send_mailjet_email для удобства и чтобы избежать конфликтов.

function wpmail_send_mailjet_email($to_email, $subject, $body_html, $body_text = '') {
    require_once __DIR__ . '/vendor/autoload.php'; // путь к автозагрузчику Composer

    $mj = new \Mailjet\Client('YOUR_PUBLIC_KEY', 'YOUR_PRIVATE_KEY', true, ['version' => 'v3.1']);

    $body = [
        'Messages' => [[
            'From' => [
                'Email' => 'no-reply@yourdomain.com',
                'Name' => 'Your Site'
            ],
            'To' => [[
                'Email' => $to_email,
            ]],
            'Subject' => $subject,
            'TextPart' => $body_text ?: strip_tags($body_html),
            'HTMLPart' => $body_html
        ]]
    ];

    $response = $mj->post(Resources::$Email, ['body' => $body]);

    if ($response->success()) {
        return true;
    } else {
        error_log('Mailjet error: ' . print_r($response->getData(), true));
        return false;
    }
}

Вызвать функцию можно из любого хука WordPress для отправки уведомлений, например, после публикации записи:

add_action('publish_post', function($post_ID) {
    $post = get_post($post_ID);
    $subject = 'Новая публикация на сайте';
    $body_html = '<h1>' . esc_html($post->post_title) . '</h1><p>' . esc_html($post->post_excerpt) . '</p><a href="' . get_permalink($post_ID) . '">Читать далее</a>';
    wpmail_send_mailjet_email('user@example.com', $subject, $body_html);
});

Обработка ошибок и отладка отправки писем

В реальных условиях важно логировать ошибки API и проверять статус отправки писем. В примере выше при ошибках в лог записывается ответ Mailjet.

Для более продвинутой отладки можно использовать встроенную панель Mailjet, где отображается статус каждого письма, а также статистика открытий и кликов.

Также рекомендуем проверить правильность SPF, DKIM и DMARC записей в DNS вашего домена, чтобы повысить доверие почтовых сервисов и снизить вероятность попадания писем в спам.

Альтернативные плагины и решения для интеграции Mailjet

Если официальный плагин Mailjet по каким-то причинам не подходит, есть несколько альтернатив:

  • WP Mail SMTP — позволяет настроить отправку через Mailjet API или SMTP, интеграция очень гибкая;
  • Mailjet for WooCommerce — специально для магазинов на WooCommerce с возможностью рассылок и триггерных писем;
  • Кастомные реализации на базе WordPress hooks и PHP SDK, как показано выше.

Выбор зависит от задач и уровня навыков. Для простых проектов официальный плагин — лучший вариант.

Полезные советы по использованию Mailjet в WordPress

  • Используйте шаблоны Mailjet для унификации дизайна писем и лёгкого редактирования без правки кода.
  • Настройте вебхуки для обработки событий доставки, открытия и кликов, чтобы получать статистику в реальном времени.
  • Ограничьте частоту отправки, чтобы избежать блокировок и не перегружать список подписчиков.
  • Регулярно проверяйте отчёты и очищайте списки от недействительных email адресов.

Для управления шаблонами и подписчиками можно использовать плагин Mailjet for WordPress с сайта WPSHOP.

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее