PrestaShop питает сотни тысяч интернет-магазинов по всему миру, но его стандартная транспортировка писем совершенно не подходит для современных Gmail, Outlook и Yahoo. По умолчанию PrestaShop отправляет трансакционные письма через PHP-функцию mail(), которая передаёт сообщение на локальный MTA на IP вашего хостера. При этом: SPF не проходит, DKIM отсутствует, DMARC не валидирует письмо. Письмо идёт прямо в спам. Решение простое: включить SMTP-провайдера, опубликовать три DNS-записи, затем проверить через seed-тест.
Если письма из PrestaShop не доходят или падают в спам, замените Использовать встроенную функцию PHP mail() на Установить свои параметры SMTP в разделе Параметры → Email, укажите данные провайдера (Postmark, SendGrid или Brevo) и опубликуйте SPF + DKIM + DMARC для своего домена. Это закрывает 90% жалоб на доставку.
Почему PHP mail() в PrestaShop приводит в спам
В PrestaShop модуль Mail предлагает три опции: Никогда не отправлять письма, Использовать функцию mail() PHP и Установить свои параметры SMTP. По умолчанию выбрана вторая опция — и здесь начинаются неприятности.
Функция PHP mail() передаёт письмо локальному MTA на сервере, где установлена PrestaShop. Этот сервер:
- Использует shared IP, который не авторизован в вашей SPF-записи.
- Подписывает письма DKIM-ключом домена хостера, а не вашего домена.
- Не имеет отдельной репутации по доменам — репутация IP смешана из всех сайтов на этом сервере.
- Часто попадает на чёрные списки, потому что спамеры любят дешёвый shared-хостинг.
Gmail и Outlook перед маршрутизацией проверяют spf=, dkim= и dmarc= для From-домена и envelope-sender. Когда все три проверки не проходят, письмо летит в Spam — или отклоняется полностью.
Включаем SMTP в Back Office PrestaShop
SMTP-путь поднимает вас на провайдера с хорошей репутацией. Вот как это сделать.
- Входим в Back Office PrestaShop от имени администратора.
- Идём в
Параметры → Email. Это верный путь для PrestaShop 1.7 и 8.x. - В разделе Email выбираем
Установить свои параметры SMTP (только для опытных пользователей). - Заполняем поля:
- Доменное имя почты: домен вашего магазина (например,
shop.example.com). - SMTP-сервер: имя хоста провайдера.
- Пользователь SMTP и Пароль SMTP: из личного кабинета провайдера.
- Шифрование:
TLS(порт 587) илиSSL(порт 465). - Порт: 587 для TLS, 465 для SSL.
- Доменное имя почты: домен вашего магазина (например,
- Нажимаем Сохранить, затем используем блок Протестировать конфигурацию email внизу с вашим адресом.
Лучшие SMTP-провайдеры для PrestaShop
Не все провайдеры подходят для PrestaShop. Некоторые урезают объёмы, другие требуют домен старше 30 дней, третьи плохо обрабатывают soft-bounce. Три проверенных варианта:
Postmark:
SMTP-сервер: smtp.postmarkapp.com
Порт: 587 (TLS)
Пользователь: <server API token>
Пароль: <server API token>
Плюсы: Трансакционная почта, отличная репутация, доставка за ~1с.
SendGrid:
SMTP-сервер: smtp.sendgrid.net
Порт: 587 (TLS)
Пользователь: apikey
Пароль: <API key>
Плюсы: Щедрый free tier (100 писем/день), хорошая маршрутизация в ЕС.
Brevo (бывший Sendinblue):
SMTP-сервер: smtp-relay.brevo.com
Порт: 587 (TLS)
Пользователь: ваш-логин@brevo.com
Пароль: <SMTP key>
Плюсы: EU-провайдер, хорош для GDPR-чувствительных магазинов.Для совсем маленьких магазинов подойдёт Google Workspace SMTP, но вы упрётесь в лимит 2000 адресатов в сутки в бешеные дни вроде Black Friday. Для серьёзной работы — только специализированные провайдеры.
SPF, DKIM, DMARC — обязательны
Самого SMTP недостаточно для проверки аутентификации. Нужно сказать миру, что SMTP-провайдер авторизован отправлять письма от вашего домена.
- SPF: одна TXT-запись на вершине домена. Пример для Postmark:
v=spf1 a mx include:spf.mtasv.net ~all. - DKIM: провайдер генерирует открытый селектор (например,
20260101._domainkey.yourdomain.com). Вы публикуете CNAME или TXT, провайдер подписывает исходящие письма приватным ключом. - DMARC: TXT-запись на
_dmarc.yourdomain.com. Начните с:v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com.
Когда DNS пропагировался (обычно за 15 минут), отправьте себе тестовое письмо и посмотрите заголовки. Должны быть три зелёные строки: spf=pass, dkim=pass, dmarc=pass.
Модули для более надёжной доставки
Встроенный SMTP работает, но не имеет очереди, повторных попыток и аналитики. Модули из маркетплейса PrestaShop добавляют это и обычно окупают себя за месяц.
- SMTP Mail Pro — платный модуль с очередью неудачных писем, повторами при soft-bounce и логированием ответов MTA.
- Встроенные модули SendGrid / Mailgun — используют API провайдера вместо SMTP. Быстрее, лучше обработка ошибок, работают с большими вложениями.
- Email Alerts Pro — расширяет встроенные оповещения PrestaShop новыми триггерами (брошенная корзина, товар снова в наличии, бонусные баллы).
PrestaShop часто использует контактный email магазина (например, noreply@yourdomain.com) как From-заголовок. Убедитесь, что этот ящик реально существует и что домен совпадает с доменом провайдера. From с другого домена, чем подписант DKIM, не пройдёт DMARC-выравнивание.
Seed-тест перед включением в production
Не верьте кнопке тестирования в Back Office — она только проверит, что SMTP-данные верны. Нужно увидеть, где реально приземляются письма по разным провайдерам.
- Создайте тестовый товар стоимостью ноль или один рубль.
- Оформите заказ с seed-адресом. Инструменты вроде бесплатного Inbox Check дают один адрес, который форвардит на 20+ реальных ящиков (Gmail, Outlook, Yahoo, Mail.ru, Yandex и прочие).
- Посмотрите размещение письма в каждом ящике: Входящие, Промо, Спам, Соцсети, Уведомления.
- В Gmail откройте заголовки письма. Проверьте:
dkim=pass header.d=yourdomain.com. Если DKIM показывает домен провайдера — значит, ваши CNAME для DKIM не настроены.
Повторяйте этот тест после каждого крупного апдейта PrestaShop. Обновления модулей иногда перезаписывают настройку транспорта, молча возвращая вас на PHP mail.
Используйте бесплатный Inbox Check: один адрес, 20+ провайдеров (Gmail, Outlook, Mail.ru, Yandex, ProtonMail, Fastmail и другие). Отчёт за 2–3 минуты, никакой регистрации.