wpmail.ru wordpress WP Mail

Как установить и настроить Mailgun в WordPress для надежной отправки писем

Почтовые уведомления в WordPress — одна из важнейших функций, особенно если у вас интернет-магазин, блог с подпиской или сайт с регистрацией пользователей. Отправка писем через стандартный PHP mail() часто приводит к попаданию сообщений в спам или их полной недоставке. Решением этой проблемы является использование специализированных SMTP-сервисов, и одним из самых популярных является Mailgun.

Что такое Mailgun и зачем он нужен в WordPress

Mailgun — это облачный почтовый сервис, который позволяет отправлять и получать email с высокой надежностью и скоростью. Он обеспечивает:

  • Высокую доставляемость писем;
  • Подробную статистику и логи отправки;
  • Поддержку API и SMTP;
  • Возможность настройки доменных записей для улучшения репутации отправителя;
  • Инструменты для предотвращения спама и ботов.

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

Выбор плагина для интеграции Mailgun с WordPress

Для подключения Mailgun к WordPress есть несколько популярных плагинов. Рассмотрим три наиболее функциональных:

1. WP Mail SMTP by WPForms

Это один из самых популярных SMTP-плагинов. Он поддерживает Mailgun, Gmail, SendGrid и другие сервисы. Бесплатная версия позволяет быстро настроить SMTP через Mailgun, а PRO-версия расширяет функционал.

2. Mailgun for WordPress

Специализированный плагин для работы с Mailgun от разработчиков сервиса. Позволяет отправлять письма напрямую через API Mailgun, минуя SMTP. Это повышает скорость и надежность.

3. Post SMTP Mailer/Email Log

Удобный и продвинутый плагин с поддержкой нескольких почтовых сервисов и полной логикой отправки писем. Позволяет настраивать резервные методы отправки и подробно логировать все события.

Регистрация и базовая настройка Mailgun

Для начала работы необходимо зарегистрироваться на официальном сайте Mailgun. После подтверждения и привязки вашей кредитной карты (есть бесплатный тариф с ограничениями) нужно добавить домен:

  1. В разделе Domains нажмите "Add New Domain".
  2. Введите поддомен, например mail.yoursite.com, чтобы отделить почтовую часть от основного сайта.
  3. Сохраните и перейдите к настройке DNS-записей.

Для корректной работы регистрации и авторизации отправителя требуется добавить в DNS домена три типа записей:

  • TXT для SPF — указывает Mailgun как разрешенного отправителя;
  • TXT для DKIM — для подтверждения целостности писем;
  • MX записи — для приема входящей почты (если нужно).

После добавления записей зайдите в Mailgun и подтвердите их. Это может занять от нескольких минут до 24 часов в зависимости от провайдера.

Настройка Mailgun через WP Mail SMTP

Рассмотрим пример настройки с помощью плагина WP Mail SMTP:

  1. Установите и активируйте плагин через админку WordPress.
  2. Перейдите в WP Mail SMTP > Settings.
  3. В разделе Mailer выберите Mailgun.
  4. Введите API ключ из Mailgun (можно посмотреть в разделе API Keys).
  5. Укажите домен, который вы добавили в Mailgun.
  6. Сохраните настройки.

Для теста отправки перейдите во вкладку Email Test, укажите свой email и отправьте тестовое письмо. Если письмо не приходит или попадает в спам, проверьте DNS-записи и настройки SPF/DKIM.

Пример кода для отправки email через Mailgun API в WordPress

Если нужно реализовать отправку писем напрямую через API Mailgun без плагинов, используйте следующий пример функции с префиксом wpmail_:

function wpmail_send_mailgun_email($to, $subject, $message) {
    $api_key = 'ваш-api-ключ';
    $domain = 'ваш-домен.mailgun.org';

    $url = "https://api.mailgun.net/v3/" . $domain . "/messages";

    $data = [
        'from' => 'WordPress <no-reply@' . $domain . '>',
        'to' => $to,
        'subject' => $subject,
        'text' => $message
    ];

    $response = wp_remote_post($url, [
        'headers' => [
            'Authorization' => 'Basic ' . base64_encode('api:' . $api_key),
        ],
        'body' => $data
    ]);

    if (is_wp_error($response)) {
        return false;
    }

    $code = wp_remote_retrieve_response_code($response);
    return $code === 200;
}

Используйте функцию так:

if (wpmail_send_mailgun_email('user@example.com', 'Тестовое письмо', 'Привет! Это тест.')) {
    echo 'Письмо отправлено';
} else {
    echo 'Ошибка отправки';
}

Отладка и логирование писем в WordPress с Mailgun

Для мониторинга отправленных писем полезно вести логи и получать уведомления об ошибках. Плагин Post SMTP Mailer/Email Log позволяет это сделать из админки — вы увидите статус каждой отправки, сообщения об ошибках и сможете повторить попытку.

Если вы используете собственный код, добавьте логирование через стандартные средства WordPress, например error_log() или сохранение статуса в отдельную таблицу базы данных.

Рекомендации по улучшению доставляемости писем

Чтобы письма с Mailgun доходили до пользователей, соблюдайте несколько правил:

  • Настройте SPF и DKIM для вашего домена правильно и убедитесь, что DNS-записи опубликованы.
  • Используйте отдельный поддомен для почты, например mail.yoursite.com.
  • Не отправляйте слишком много писем за раз — соблюдайте лимиты Mailgun и требования к скорости.
  • Проводите регулярный мониторинг статистики и отписок, чтобы не попасть в чёрные списки.
  • Используйте проверку email на валидность перед отправкой, чтобы уменьшить количество bounce.

Правильная интеграция Mailgun с WordPress позволит вам наладить надежную систему email-коммуникаций, которая будет работать без сбоев и проблем с доставкой.

Если хотите использовать профессиональные инструменты для оптимизации отправки и управления письмами, обратите внимание на WP Mail SMTP на WPSHOP — он значительно упрощает работу с Mailgun и другими SMTP-сервисами.

×

AI-плагин

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

SEO и мета-теги

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

Изображения

Комментарии

Подробнее