Почему стоит использовать 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.