Joomla8 мин чтения

Joomla письма в спаме: диагностика и кейс-фиксы

Joomla по умолчанию отправляет письма через PHP mail с shared-хоста без аутентификации. В 2026 году это значит спам в 99% случаев. Разбираемся в причинах и расставляем это правильно.

Joomla всё ещё питает сообщество членских сайтов, образовательные платформы и малый бизнес. Это стабильный, гибкий и хорошо расширяемый фреймворк. Но с современным транспортом почты у него беда. «Из коробки» Joomla передаёт все исходящие письма — подтверждения регистрации, сброс пароля, уведомления из форм, opt-in в рассылки — функции PHP mail().

В 2026 году отправка через PHP mail с shared-хоста — это синоним папки «Спам». Gmail, Outlook, Yahoo и европейские провайдеры (GMX, Web.de, Yandex) требуют аутентифицированную отправку с выровненными SPF и DKIM. Joomla по умолчанию этого не даёт. Пользователи перестают подтверждать регистрацию, письма в поддержку иссякают, вы думаете, сайт мёртв. На самом деле письма тихо падают в спам.

Быстрый ответ

Переключите Joomla с PHP mail на SMTP с аутентификацией, укажите transactional-провайдер (Postmark, SES, Mailgun, Brevo), опубликуйте SPF + DKIM + DMARC для домена From, потом пройдите seed-тест каждого шаблона. Регистрация, сброс пароля и форма контактов — все три ведут себя по-разному.

Признаки проблемы: как понять, что дело в почте

Классические сигналы:

  • Новые регистрации зависают на этапе «подтвердите почту». Пользователи пишут в поддержку, где письмо. Вы находите его в папке Спам в Gmail.
  • Сброс пароля «не приходит» — но лог Joomla говорит, что письмо отправлено успешно.
  • Заявки из формы обратной связи приходят непредсказуемо. Какой-то день ноль, какой-то день залп. Это плавающее размещение в зависимости от получателя.
  • Заголовки на полученных письмах показывают Received-SPF: none или softfail, и dkim=none.

Почему дефолтная конфигурация падает

В Глобальные настройки → Сервер → Параметры почты у Joomla есть три опции Mailer: PHP mail, sendmail, и SMTP. На большинстве инсталляций по умолчанию стоит PHP mail.

Когда Joomla использует PHP mail, локальный MTA веб-сервера отправляет письмо с собственного IP сервера. Этот IP почти всегда:

  1. Shared с сотнями других сайтов на одном хостинг-ноде.
  2. Не указан в SPF-записи вашего From-домена.
  3. Не публикует DKIM-подписи для вашего From-домена.

Итог: SPF падает (отправляющий IP не авторизирован для вашего домена), DKIM отсутствует (нет подписи), DMARC — если он у вас есть — отклоняет. Даже без DMARC, Gmail и Outlook агрессивно downgrade'ят неаутентифицированную почту.

Частая ошибка админов

Администраторы иногда пытаются «починить» это, переключив Mailer на sendmail. Это не помогает. Sendmail просто передаёт письмо тому же локальному MTA, с того же shared-IP, всё ещё без аутентификации. Единственный кейс — это SMTP на authenticated relay.

SMTP-кейс внутри Joomla

Идите в Глобальные настройки → Сервер → Параметры почты:

  1. Установите Mailer в SMTP.
  2. Установите From Email на mailbox на домене, которым вы владеете и будете аутентифицировать, например noreply@vash-site.com.
  3. Установите From Name на публичное имя вашего сайта. Пусть оно будет узнаваемо — это будет показано как имя отправителя в inbox получателя.
  4. Включите SMTP Authentication, установите SMTP Security в TLS, и SMTP Port в 587.
  5. Введите SMTP Host, Username и Password из вашего transactional-провайдера. Для Postmark это smtp.postmarkapp.com с серверным API-токеном как логин и пароль. Для SES это email-smtp.<region>.amazonaws.com с SES-специфичными SMTP-реквизитами.
  6. Сохраните, потом используйте встроенную кнопку Joomla Send Test Mail (вкладка Mail Settings) чтобы отправить себе тест.

DNS-записи

Опубликуйте SPF, DKIM и DMARC. Минимальный корректный набор:

; SPF — одна TXT-запись на домен
vash-site.com.          IN  TXT  "v=spf1 include:sendgrid.net ~all"

; DKIM — провайдер-специфичный selector, обычно CNAME
s1._domainkey.vash-site.com.  IN  CNAME  s1.domainkey.u1234.wl.sendgrid.net.

; DMARC — quarantine с reporting-mailbox
_dmarc.vash-site.com.   IN  TXT  "v=DMARC1; p=quarantine; rua=mailto:dmarc@vash-site.com; adkim=r; aspf=r"

Дайте DNS 10 минут на распространение. Потом ещё раз запустите test mail в Joomla и посмотрите received-заголовки. Ищите spf=pass, dkim=pass, dmarc=pass.

Бесплатная проверка попадания в инбокс

Запустите бесплатный Inbox Placement Test и получите seed-адреса по 9 провайдерам: Gmail, Outlook, Yahoo, Mail.ru, Yandex, ProtonMail, Fastmail, iCloud, GMX. Отчёт по папкам (Входящие, Промоакции, Спам) для каждого.

→ Запустить бесплатный тест

Seed-тестируем каждый шаблон

Кнопка test-mail в Joomla доказывает, что транспорт работает. Это не доказывает, что ваш шаблон регистрации, шаблон сброса пароля или шаблон уведомления из контактовреально достигают inbox. Каждый из них имеет разное содержание, разные ссылки, и скорится по-разному в Gmail и Outlook.

  1. Сгенерируйте 20+ seed-адресов на Inbox Check — охватите Gmail, Outlook, Yahoo, Mail.ru, Yandex, GMX, Web.de и ProtonMail.
  2. Триггерьте новую регистрацию с seed-адреса. Смотрите письмо подтверждения разлететься на panel. Проверьте размещение по каждому провайдеру.
  3. Триггерьте сброс пароля для существующего аккаунта, используя другой seed-адрес. Содержание отличается — одна ссылка, никакого брендинга — поэтому скоры скана отличаются.
  4. Отправьте форму контактов как seed-адрес, потом проверьте, как уведомление падает на почту магазина.

Целитесь на 95%+ inbox placement на всех consumer-провайдерах. Что-то ниже — итеритесь по DNS, контенту и выбору провайдера.

Полезные расширения Joomla

Ядро Joomla поддерживает SMTP без дополнительных расширений. Но несколько из них всё же полезны:

  • Email Logger или стиль Email Log позволяет вам видеть каждое отправленное письмо и любую SMTP-ошибку. Бесценно для дебага «письмо не отправилось» против «письмо отправилось и спамилось».
  • Advanced Mailer расширения могут добавить DKIM-подпись внутри самой Joomla, полезно если ваш провайдер не делает DKIM за вас (большинство делают).
  • JComments, Community Builder, VirtueMartи другие расширения всё маршрутируют почту через настроенный Joomla mailer. Чините core mailer один раз — и все получают бенефит.

Частые вопросы

Нужен ли платный SMTP-провайдер для маленького Joomla-сайта?

Бесплатный уровень Postmark покрывает 100 писем в месяц. Бесплатный уровень Brevo покрывает 300 в день. На большинстве маленьких Joomla-сайтов (регистрации, сброс паролей, формы) вы останетесь в бесплатном уровне и не будете ничего платить.

Я правильно настроил SMTP в Joomla, но письма всё ещё спамят. Что теперь?

Проверьте три вещи. Первое — заголовки на полученном письме, вам нужны spf=pass, dkim=pass, dmarc=pass (или минимум оба spf и dkim pass). Второе — From-домен в заголовках совпадает с доменом, для которого у вас DKIM. Третье — никакое расширение не переписывает From-адрес дальше по цепи.

Могу ли я просто использовать SMTP-сервер своего хостинг-провайдера?

Если ваш хост запускает аутентифицированный SMTP для вашего домена с DKIM-подписью, да. Большинство shared-хостов не делают. Предполагайте, что вам нужен внешний провайдер, пока вы явно не проверили DKIM-подпись на хосте.

Чем это отличается от ситуации с WordPress?

Проблема идентична — PHP mail по умолчанию, отсутствие аутентификации — но WordPress имеет зрелый экосистем SMTP-плагинов (WP Mail SMTP, FluentSMTP, Post SMTP), которые делают кейс двухклик install. Joomla требует заход в Глобальные настройки. Тот же результат, чуть более manual.
Related reading
Found this useful? Share it
AB
Об авторе
Artem Berezin
B2B Deliverability Specialist

B2B deliverability specialist with 5+ years of hands-on outreach experience. Built campaigns reaching 90,000+ inboxes across 20+ countries — and fixed the deliverability problems that came with that scale.

Проверьте доставляемость в 20+ провайдерах

Gmail, Outlook, Yahoo, Mail.ru, Яндекс, GMX, ProtonMail и другие. Реальные скриншоты входящих, SPF/DKIM/DMARC, вердикты спам-фильтров. Бесплатно, без регистрации.

Запустить тест →

Тесты без ограничений · 20+ ящиков · Живые результаты · Аккаунт не нужен