Вы перенесли домен на Cloudflare — сайт ускорился, DDoS-защита появилась, всё красиво. А потом внезапно перестали работать формы обратной связи, уведомления, регистрация и любые письма с сайта.
Знакомо? Таймауты, "Connection refused", "Could not connect to SMTP host", сертификаты, спам... Вы гуглите часы, читаете форумы Cloudflare, меняете порты — а ничего не помогает.
Я тоже прошёл этот ад (вместе с одним упорным разработчиком мы потратили почти целый день). И вот — рабочее решение, которое спасёт вас от страданий.
Cloudflare проксирует только HTTP/HTTPS (порты 80 и 443). Все остальные порты (25, 465, 587 — это SMTP) он не пропускает (кроме Enterprise-плана за бешеные деньги).
Когда ваш сайт пытается отправить письмо:
Даже если вы переключили запись mail в "DNS Only" (серое облачко) — часто остаётся кэш, наследование от root-записи или просто неполная пропагация.
Это работает... иногда. Но кэш DNS на сервере может держаться часами, и всё равно будут таймауты.
Просто используйте localhost вместо домена.
Да, серьёзно.
В настройках SMTP (WP Mail SMTP, PHPMailer, Python smtplib, Laravel, любой фреймворк):
SMTP Host: localhost Port: 587 Encryption: None (без TLS/SSL) Username: ваш_ящик@вашдомен.ru Password: ваш_парольМы это проверили на реальном проекте: тесты показали "235 Authentication succeeded" — и письма полетели.
PHPMailer (PHP):
$mail->isSMTP();$mail->Host = 'localhost';$mail->Port = 587;$mail->SMTPAuth = true;$mail->Username = '[email protected]';$mail->Password = 'password';$mail->SMTPSecure = false; // Выключаем$mail->SMTPAutoTLS = false; // ВажноPython smtplib:
MAIL_SERVER=localhostMAIL_PORT=587MAIL_USE_TLS=falseWordPress (WP Mail SMTP):
Не мучайтесь с DNS-записями, портами, сертификатами и Cloudflare-прокси. Просто поставьте localhost + порт 587 + шифрование выключено.
Работает на любом shared-хостинге. Стабильно. Навсегда. Без сюрпризов.
Сохраните эту статью в закладки — и когда в следующий раз перенесёте домен на Cloudflare, вы почините SMTP за 5 минут, а не за день.
А если у вас всё ещё не работает — пишите в комментарии: хостинг, ошибка, конфиг — разберём.
Удачи, и пусть ваши формы всегда отправляются с первого раза! 🚀