Как настроить отправку писем в WordPress без использования PHPMailer

В WordPress по умолчанию для отправки писем используется класс PHPMailer. Несмотря на его широкое распространение и гибкость, в ряде случаев возникают проблемы с доставкой писем: письма попадают в спам, вообще не отправляются или задерживаются. В этой статье мы подробно разберем, как обойти использование PHPMailer и организовать надежную отправку писем с помощью альтернативных методов и плагинов, а также рассмотрим примеры кастомного кода.

Почему возникают проблемы с PHPMailer в WordPress

PHPMailer по умолчанию использует функцию mail() PHP, которая часто настроена плохо на хостингах. Это приводит к:

  • Плохой доставляемости писем (спам-фильтры блокируют письма);
  • Отправка писем с некорректным заголовком;
  • Отсутствие SMTP-авторизации;
  • Отсутствие шифрования;
  • Проблемы с совместимостью на некоторых серверах.

Поэтому, если вы столкнулись с тем, что письма из WordPress не доходят до пользователей, стоит рассмотреть альтернативы.

Использование SMTP для отправки писем: плагины и настройки

Плагин WP Mail SMTP by WPForms

Один из самых популярных и простых в использовании плагинов — WP Mail SMTP. Он позволяет перенастроить отправку писем через SMTP-серверы популярных почтовых сервисов (Gmail, Mail.ru, Яндекс, SendGrid и др.).

Как настроить:

  1. Установите и активируйте плагин WP Mail SMTP.
  2. Перейдите в раздел Настройки → WP Mail SMTP.
  3. Выберите почтовый сервис или укажите свои параметры SMTP-сервера (хост, порт, логин, пароль, шифрование).
  4. Сохраните настройки и протестируйте отправку тестового письма.

Преимущество: вы полностью обходите использование mail(), отправляя письма через надежный SMTP-сервер с авторизацией и шифрованием.

Альтернативный плагин Post SMTP Mailer/Email Log

Еще один мощный плагин — Post SMTP. Он поддерживает OAuth2 для Gmail, ведет лог отправленных писем и автоматически переключается между SMTP-серверами при сбоях.

Его настройка аналогична WP Mail SMTP, но с дополнительным контролем за доставкой.

Кастомный код для отправки писем через SMTP без PHPMailer

Если по каким-то причинам вы хотите не использовать встроенный PHPMailer, можно самостоятельно реализовать отправку через SMTP, например, с помощью библиотеки SwiftMailer или PHPMailer с отключением стандартного метода WordPress.

Ниже приведен пример интеграции SwiftMailer в WordPress с переопределением функции wp_mail:

function wptickets_swiftmailer_mail($to, $subject, $message, $headers = '', $attachments = array()) {
    require_once __DIR__ . '/vendor/autoload.php'; // Подключаем SwiftMailer через Composer

    $transport = (new Swift_SmtpTransport('smtp.example.com', 587, 'tls'))
        ->setUsername('your_username')
        ->setPassword('your_password');

    $mailer = new Swift_Mailer($transport);

    $mailMessage = (new Swift_Message($subject))
        ->setFrom(['no-reply@wptickets.ru' => 'WP Tickets'])
        ->setTo(is_array($to) ? $to : explode(',', $to))
        ->setBody($message, 'text/html');

    if (!empty($attachments)) {
        foreach ($attachments as $file) {
            $mailMessage->attach(Swift_Attachment::fromPath($file));
        }
    }

    return $mailer->send($mailMessage);
}

remove_filter('wp_mail', 'wp_mail');
add_filter('wp_mail', 'wptickets_swiftmailer_mail');

Этот код полностью заменит стандартную отправку писем на отправку через SwiftMailer с SMTP, что повысит надежность.

Другие варианты: API-сервисы для отправки почты

Еще один современный способ — использовать API почтовых сервисов, таких как:

  • SendGrid
  • Mailgun
  • Amazon SES

Для работы с ними существуют готовые плагины, например, Mailgun for WordPress или SendGrid. Они отправляют письма через API, минуя SMTP и PHP-функцию mail().

Преимущество использования API — высокая скорость, надежность и возможность отслеживания доставки прямо через панель сервиса.

Советы по отладке и проверке отправки писем

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

  • Использовать плагин WP Mail Logging для просмотра журналов отправленных писем;
  • Проверять настройки SPF, DKIM и DMARC для домена — это сильно влияет на доставляемость;
  • Тестировать почтовые настройки на разных SMTP-серверах;
  • Проверять, не блокирует ли хостинг исходящие SMTP-соединения.

Правильная настройка и использование современных методов значительно повысят эффективность отправки почты в WordPress.

Создание комплексного фильтра по свойствам тикетов в WPtickets для WordPress
14.04.2026
Как создать автоматический отчет по тикетам в WPtickets для WordPress
24.01.2026
Как создать систему поддержки (тикетов) в WordPress
20.11.2025
Как создать комплексную систему отзывов и обработки тикетов в WordPress
01.03.2026
Создание комплексной системы автоприсвоения тикетов в WordPress
14.04.2026