Услуги Создание магазина Доработка Интеграция 1С О компании FAQ Блог Кейсы Отзывы Контакты
А
Автор статьи

Что делать, если заказы в OpenCart перестали приходить на почту

Что делать, если заказы в OpenCart перестали приходить на почту: настройка SMTP

Краткое описание задачи

Проблема «заказы есть, а письма не приходят» — одна из самых критичных для интернет-магазина. Вы можете не узнать о новом заказе несколько часов или дней. Причина в подавляющем большинстве случаев одна: OpenCart по умолчанию использует функцию PHP mail(), которую большинство хостингов блокируют или письма из неё попадают в спам. Решение — SMTP.

Почему PHP mail() не работает

PHP mail() отправляет письмо напрямую с сервера. Современные почтовые сервисы (Яндекс, Mail.ru, Google) не доверяют таким письмам — они попадают в спам или не доходят вообще. Кроме того, многие хостинги ограничивают количество писем через mail() или блокируют исходящие соединения на 25 порт.

Настройка SMTP в OpenCart 3

  1. Админка → Система → Настройки → ваша карточка магазина → вкладка Mail.
  2. Протокол: выберите SMTP.
  3. Параметры для Яндекс 360:
    • SMTP-хост: smtp.yandex.ru
    • Порт: 465
    • SSL: включено
    • Email: ваш полный email (например, shop@yoursite.ru)
    • Пароль: пароль приложения Яндекс (не обычный пароль!)
  4. Параметры для Mail.ru:
    • SMTP-хост: smtp.mail.ru
    • Порт: 465
    • SSL: включено
    • Пароль: пароль приложения Mail.ru
  5. Параметры для Google:
    • SMTP-хост: smtp.gmail.com
    • Порт: 465
    • SSL: включено
    • Пароль: пароль приложения Google (обычный пароль Gmail не подойдёт)
  6. Нажмите «Сохранить» и перейдите к проверке.

Проверка

В админке OpenCart есть функция тестовой отправки: Система → Настройки → ваша карточка → вкладка Mail → кнопка «Отправить тестовое письмо». Если письмо пришло и не в спаме — всё настроено правильно. Если нет — проверьте:

  • Правильно ли указан порт и протокол (SSL/TLS)?
  • Используете ли вы пароль приложения, а не обычный пароль?
  • Не блокирует ли хостинг исходящие соединения на указанный порт?

Если SMTP не помог

В редких случаях проблема на стороне хостинга — он может блокировать все исходящие SMTP-соединения. Решение:

  • Обратитесь в поддержку хостинга, попросите открыть порт 465 или 587.
  • Как временное решение — используйте сервис почтовых рассылок (SendPulse, UniSender) для транзакционных писем.

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

Как часто нужно менять пароль приложения для SMTP?

Раз в 6–12 месяцев для безопасности. Если при смене пароля письма перестали приходить — обновите пароль в настройках OpenCart.

Почему письма приходят с задержкой 5–10 минут?

Обычно проблема на стороне SMTP-сервера. Яндекс и Mail.ru могут задерживать письма при высокой нагрузке. Если задержка регулярная — попробуйте другого провайдера.

Как проверить, отправляются ли письма через SMTP?

После настройки SMTP создайте тестовый заказ и проверьте, пришло ли письмо. Если нет — проверьте логи OpenCart: system/storage/logs/. Там будет видна ошибка подключения к SMTP-серверу. По практике, большинство проблем после настройки SMTP — неверный пароль приложения или заблокированный порт.

Итог

Если письма не приходят — настройте SMTP. По практике, это решает проблему в большинстве случаев. Не используйте PHP mail() — он ненадёжен.

Из практики. Типичный случай: клиент жалуется, что заказы перестали приходить на почту — при этом оплаты проходят, деньги списываются. Оказалось, что SMTP-сервер хостинга добавил домен в чёрный список из-за массовой рассылки с соседнего аккаунта. Мы перенастроили отправку писем через внешний SMTP (SendGrid) — письма с заказами стали доставляться, а заодно появилась статистика доставки.

Как не надо. Не копируйте готовые решения из интернета без проверки совместимости с вашей версией OpenCart и установленными модулями. То, что сработало у другого владельца магазина, может сломать ваш сайт — особенно если у вас нестандартная сборка. Всегда делайте бэкап перед любыми изменениями.

Рекомендации из практики

Как лучше: Используйте SMTP-отправку через почтовый сервис (Яндекс 360, Mail.ru, Google Workspace). Это единственный надёжный способ гарантировать доставку писем. Обязательно создавайте пароль приложения — обычный пароль от почты не подходит для SMTP. В Яндекс 360 пароль приложения создаётся в разделе «Безопасность».

Как не делать: Не оставляйте протокол Mail в настройках OpenCart, если ваш хостинг не поддерживает PHP mail() или блокирует 25 порт. Это приведёт к тому, что письма будут «теряться» без уведомления об ошибке. Вы узнаете о проблеме только когда клиент позвонит и скажет, что заказ не обработан уже 2 дня.

Кейс из практики: Магазин косметики полгода работал с PHP mail() — клиенты жаловались, что письма с подтверждением приходят через несколько часов или не приходят совсем. Оказалось, хостинг ограничил отправку до ограниченное количество писем. Перевели на SMTP Яндекс 360 с паролем приложения — письма стали доставляться за 1–2 минуты, количество необработанных вовремя заказов снизилось с минимума.

Нужно настроить почту для OpenCart — закажите техподдержку: настроим SMTP и проверим доставку писем.

Часто задаваемые вопросы

Почему заказы не приходят на почту в OpenCart?

Три главные причины: 1) неправильные настройки SMTP (сервер, порт, логин/пароль), 2) заблокирован адрес отправителя почтовиком, 3) папка «Спам» на стороне получателя. Начните с проверки SMTP-настроек в админке.

Как настроить SMTP для OpenCart?

В админке: Система → Настройки →почты → E-Mail. Укажите: SMTP Host (smtp.yandex.ru), SMTP Port (465), SMTP Username (ваш email), SMTP Password (пароль приложения), SMTP Security (SSL). Сохраните и протестируйте.

Как проверить, работает ли почта?

В админке OpenCart: Система → Настройки →почты → E-Mail → кнопка «Тест». Если письмо пришло — всё работает. Если нет — проверьте логи сервера, настройки SMTP, не блокирует ли почтовик письма.

← Предыдущая Анализ цен и товаров конкурентов: как мониторить рынок и устанавливать правильные цены Следующая → Как проверить, не теряет ли магазин заказы из-за ошибок в оформлении

Комментарии (0)

Пока нет комментариев. Будьте первым!

Оставить комментарий

Ваш комментарий появится после проверки модератором.