Письма с сайта улетают в спам? WordPress без настроек, по умолчанию отправляет письма через PHP mail() без SPF, DKIM и DMARC, что приводит к попаданию в спам для +70% писем. Разбираемся с особенностями настроек для WP & WooCommerce.
TL;DR
- По умолчанию WordPress шлёт письма через PHP mail — без аутентификации, из-за чего фильтры считают их подозрительными.
- Решение: перейти на SMTP или API-рассылщик, включить SPF/DKIM/DMARC, выровнять «From» и почтовый ящик на домене.
- На Beget, Sprinthost и REG.RU — используйте почтовый ящик на своём домене и их SMTP. Проверяйте результат тестами и логами.
Почему письма попадают в спам
WordPress отправляет почту функцией wp_mail(), которая опирается на PHP mail(). На общих тарифах это приводит к отсутствию подтверждённой аутентификации: нет DKIM-подписи, SPF не настроен, обратный адрес отправителя не совпадает с доменом. Плюс общий IP соседей может иметь плохую репутацию. Итог — высокая вероятность папки «Спам» у крупных почтовых провайдеров.
- Нет SPF/DKIM/DMARC. Получатель не может валидировать домен отправителя.
- Общий IP с плохой репутацией. На shared-хостинге репутация делится между клиентами.
- Неверные заголовки. Несовпадение конвертного отправителя и поля From, пустой Return-Path, технические подписи.
- Неподходящий порт или шифрование. Порт 25 часто заблокирован. Используйте 465 (SSL) или 587 (TLS).

Чек‑лист проверки доставки
- Отправьте тестовое письмо с сайта на ящик у крупного провайдера и откройте оригинал письма — ищите SPF: pass и DKIM: pass.
- Проверьте письмо в специализированном тестовом сервисе качества письма и спам‑скоринга.
- Включите логирование отправок в плагине SMTP и убедитесь, что нет ошибок аутентификации.
- Подключите инструменты постмастера для мониторинга репутации домена и показателей доставки.
Тестируем письма через mail-tester.com

Mail-tester.com — это бесплатный сервис для проверки качества настройки email-отправки. Он анализирует SPF, DKIM, DMARC, содержимое письма и репутацию IP, выставляя оценку от 0 до 10. Цель — получить минимум 8/10 для гарантированной доставки в «Входящие».
Шаг 1: Получите тестовый адрес
- Откройте mail-tester.com в браузере.
- На главной странице вы увидите уникальный email-адрес типа
test-abc123@mail-tester.com— скопируйте его. - Этот адрес действителен 7 дней и позволяет провести 3 бесплатные проверки (дальше нужна регистрация).
Шаг 2: Отправьте письмо с вашего сайта
- Зайдите в админку WordPress → страница с формой (например, Contact Form 7, WooCommerce или просто тестовая страница с кнопкой «Отправить письмо»).
- В поле «Email получателя» вставьте скопированный адрес
test-abc123@mail-tester.com. - Заполните тему и текст письма (можно стандартное: «Тест доставки с WordPress»).
- Отправьте письмо через форму на сайте (не через вашу почту напрямую — важно тестировать именно SMTP-настройки WordPress!).
Шаг 3: Проверьте результаты
- Вернитесь на mail-tester.com и нажмите кнопку «Then check your score» (появится после отправки письма).
- Сервис покажет оценку и детальный отчет:
- SPF/DKIM/DMARC: Должны быть зелеными (
PASS). Если красные — проверьте DNS-записи в панели хостинга. - Spam Assassin Score: Должен быть отрицательным (например, -2.5). Положительное значение = триггеры спама в тексте.
- Blacklist Check: Если IP в черном списке — смените на выделенный IP или используйте внешний SMTP (Yandex, SendGrid).
- HTML/Text ratio: Письма с большим количеством картинок без текста получают штраф.
- SPF/DKIM/DMARC: Должны быть зелеными (
- Скачайте PDF-отчет (кнопка «Download PDF») для анализа.
Шаг 4: Исправьте ошибки
Если оценка ниже 8/10:
- SPF не настроен: Добавьте TXT-запись в DNS (см. раздел выше про DNS-настройки).
- DKIM отсутствует: Включите в панели Beget/Sprinthost или настройте через Yandex.Connect.
- From/Reply-To не совпадают: Убедитесь, что в плагине WP Mail SMTP поле «From Email» = почте на вашем домене (@вашдомен.ru, а не @gmail.com).
- Содержимое письма: Избегайте слов «бесплатно», «скидка 99%», ссылок на незнакомые домены.
Шаг 5: Повторите тест после изменений
- Обновите страницу mail-tester.com — получите новый тестовый адрес.
- Отправьте письмо снова и проверьте, выросла ли оценка.
- Цель: стабильные 9-10/10 баллов.
Альтернативные инструменты проверки
- MXToolbox Email Health: Детальная проверка DNS и репутации домена.
- DKIM Validator: Проверка подписи DKIM без отправки реального письма.
- Google Postmaster Tools: Подключите домен для мониторинга репутации в Gmail.
Совет: Сохраните несколько тестовых отчетов с mail-tester.com — это поможет отследить изменения после обновлений WordPress или плагинов.
Вариант 1. Без кода: настраиваем SMTP через плагин
Самый быстрый способ — установить плагин SMTP. Популярный вариант позволяет выбрать провайдера, вести логи и отправлять тестовые письма.
Самый популярный плагин WP Mail SMTP
Beget
- Создайте почтовый ящик на своём домене в панели хостинга и включите DKIM/DMARC (если доступно).
- В плагине выберите «Другой SMTP» и укажите настройки по инструкции Бегет https://beget.com/ru/kb/how-to/mail/obshhie-svedeniya
- Отправьте тест и проверьте заголовки: должны быть SPF/DKIM pass.
Sprinthost
- Создайте почтовый ящик на домене и включите DKIM в панели.
- В плагине — «Другой SMTP» со значениями согласно инструации https://help.sprinthost.ru/mail/sphmail
- Если используете внешний провайдер (например, корпоративную почту), создайте пароль приложения и используйте его вместо основного.
- Сделайте тестовую отправку и проверьте логи.
REG.RU
- Создайте почтовый ящик в панели REG.RU, активируйте DKIM/DMARC.
- Заполните в плагине SMTP-хост и порт в соответствии с подсказками в панели по инструкции https://help.reg.ru/support/hosting/nastroyka-pochty-regru/nastroyka-pochty-i-pochtovykh-kliyentovv/nastroyka-pochtovykh-kliyentovv.
- Включите аутентификацию, укажите логин (полный адрес) и пароль почтового ящика.
- Проверьте заголовки письма и логи отправок.
Советы по настройке плагина:
- Ставьте адрес «From» строго на том же домене, что и ваш SMTP-ящик.
- Включите запись логов отправок для диагностики (ошибки авторизации, TLS, блокировки портов и т. п.).
- При массовых транзакционных письмах рассмотрите API-провайдеров (например, маркетинговые сервисы и сервисы транзакционных писем) — у них выше доставляемость и есть ключи API.
Вариант 2. Без плагинов, с кодом в functions.php
Подходит тем, кто не хочет ставить плагин. Рекомендуется использовать дочернюю тему или собственный мини‑плагин, а пароли вынести в wp-config.php.
// wp-config.php (пример: задаём константы)
define('SMTP_HOST', 'mail.beget.com');
define('SMTP_PORT', 465);
define('SMTP_USER', 'info@yourdomain.ru');
define('SMTP_PASS', 'пароль_приложения');
define('SMTP_SECURE', 'ssl'); // 'ssl' или 'tls'
define('MAIL_FROM', 'info@yourdomain.ru');
define('MAIL_FROM_NAME', 'Ваш сайт');
// functions.php
add_action('phpmailer_init', function ($phpmailer) {
$phpmailer->isSMTP();
$phpmailer->Host = SMTP_HOST;
$phpmailer->SMTPAuth = true;
$phpmailer->Port = SMTP_PORT;
$phpmailer->Username = SMTP_USER;
$phpmailer->Password = SMTP_PASS;
$phpmailer->SMTPSecure = SMTP_SECURE; // 'ssl' для 465, 'tls' для 587
$phpmailer->From = MAIL_FROM;
$phpmailer->FromName = MAIL_FROM_NAME;
$phpmailer->Sender = MAIL_FROM; // корректный bounce-адрес
});
add_filter('wp_mail_from', function () { return MAIL_FROM; });
add_filter('wp_mail_from_name', function () { return MAIL_FROM_NAME; });
Для Sprinthost при редких SSL-ошибках можно добавить:
$phpmailer->SMTPOptions = [
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed'=> true,
],
];
Обязательные DNS-настройки
Правильные DNS-записи — половина успеха. Настраивайте их в панели вашего регистратора/хостинга.
- SPF (TXT). Разрешите отправку от вашего SMTP/провайдера. Пример базовой записи:
v=spf1 a mx include:ваш_smtp_провайдер ~all
Не храните две записи SPF на один домен — объединяйте в одну. - DKIM. Включите в панели почтового провайдера: он сгенерирует селектор и TXT-запись. После включения письма получат криптоподпись.
- DMARC (TXT). Базовый старт:
_dmarc.вашдомен.ru IN TXT "v=DMARC1; p=quarantine; rua=mailto:postmaster@вашдомен.ru"
После стабилизации можно повышать политику доp=reject.
Для Beget/Sprinthost/REG.RU включение DKIM обычно делается одной кнопкой в разделе «Почта», а рекомендуемые SPF-значения отображаются там же. Всегда берите точные строки из панели, а не копируйте «универсальные» примеры вслепую.
Особенности WooCommerce
- Убедитесь, что адрес отправителя в настройках WooCommerce совпадает с доменом SMTP-ящика.
- Проверьте шаблоны писем: странные темы/контент и лишние вложения могут ухудшать оценку письма.
- После изменений отправьте тестовые уведомления о заказе и проверьте заголовки.
Диагностика и советы
- Избегайте порта 25. Во многих местах он закрыт для исходящих соединений. Используйте 465 (SSL) или 587 (TLS).
- Следите за репутацией. Регулярно проверяйте спам‑скоринг тестовыми сервисами и в инструментах постмастера.
- Соблюдайте соответствие доменов. Домен в «From», DKIM и SPF должен совпадать или быть согласован (через include/подпись).
- Логи и ретраи. Включите логирование и настройте повторные отправки (если это поддерживается плагином).
- Масштаб. Если писем много (заказы, транзакции, рассылки) — переходите на API отправку у специализированного сервиса.
Итог — чек лист
- Переведите WordPress/WooCommerce на SMTP или API
- Проверьте настройки SPF/DKIM/DMARC, выровняйте «From» и тестируйте до стабильного pass по всем проверкам.
- На Beget, Sprinthost и REG.RU это занимает 10–15 минут, а результат — письма, которые доходят до посетителей, а не исчезают в спаме.