Как мы видим, некоторые пользователи Opencart жалуются, что их электронная почта не работает в Opencart и не может видеть сообщение формы обратной связи, сообщение о заказе или другие обновления. Мы перечислили некоторые способы их исправления.
Всякий раз, когда создается экземпляр класса Mail, как показано ниже, и вызывается метод отправки, вы можете сказать, что Opencart отправляет электронное письмо. Пример кода электронной почты:
mail = new Mail($this->config->get('config_mail_engine')); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname'); $mail->smtp_username = $this->config->get('config_mail_smtp_username'); $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); $mail->smtp_port = $this->config->get('config_mail_smtp_port'); $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); $mail->setTo($customer_info['email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender($store_name); $mail->setSubject($subject); $mail->setText($this->load->view('mail/customer_approve', $data)); $mail->send();
Вы можете найти эти коды в admin/controller/mail/forgotten.php, catalog/controller/mail/register.php, catalog/controller/mail/order.php, catalog/controller/mail/affiliate.php и т. д.
Войдите в систему администратора Opencart >> Система >> Настройки >> Отредактируйте магазин, который не отправляет электронная почта >> щелкните вкладку Магазин >> Проверьте, настроена ли электронная почта или нет.
Это электронное письмо является ответом на почту.
Теперь перейдите на вкладку «Почта», здесь приведены настройки для ввода данных электронной почты.
Почтовый механизм: вы можете выбрать Почту или SMTP в почтовом механизме. Выбирайте «Почту», только если ваш хост не отключил функцию почты PHP.
Почта: когда вы выбираете опцию «Почта», введите свой адрес электронной почты в параметрах почты. Всегда лучше ввести адрес электронной почты вашего веб-сайта, а не использовать электронную почту Gmail или другие почтовые клиенты. Если вы отправляете электронные письма с других электронных адресов, а не с вашего веб-сайта, получатели могут воспринять их как спам. Как в примере: мы используем info@webocreation.com. Если вы выберете «Почта», вам не нужно вводить данные SMTP.
Иногда вам нужно ввести параметры почты как -f info@webocreation.com
SMTP:
Вы можете использовать сторонние службы электронной почты, которые предоставляют SMTP для отправки электронной почты. Все SMTP предоставляют следующую информацию
Вот один пример, один из провайдеров SMTP предоставляет следующую информацию:
Введите вышеуказанные настройки SMTP в Opencart, выбрав почтовый движок как SMTP.
Каждый провайдер SMTP предоставляет вам указанную выше информацию. Единственное, это может стоить вам дополнительных денег.
Перейдите в раздел «Администратор» >> «Система» >> «Настройки» >> «Редактировать магазин» >> вкладка «Почта» >> раздел «Оповещения по почте».
Если вы не установили флажки для того, о котором вы хотите получать оповещения, то их необходимо отметить.
Начиная с Opencart 3.0+, вся почта должна быть настроена как События в Opencart. Перейдите в раздел «Администрирование» >> «Расширения» >> «События» и проверьте, добавлены ли все указанные ниже события.
С вышеуказанной настройкой электронное письмо должно быть отправлено, если все настройки серверов в порядке.
Проверьте, добавлены ли записи MX для вашего домена или нет. Вы можете найти онлайн-инструмент, который проверяет записи MX. Вот один пример:
Если у вас нет записей MX, вам необходимо их добавить.
После добавления записей MX пришло время проверить маршрутизацию электронной почты.
Если вы отправляете электронную почту со своего сервера и выбрали Mail в качестве «Mail Engine», проверьте маршрутизацию электронной почты на сервере и посмотрите, настроена ли маршрутизация электронной почты на локальный почтовый обменник. Но если вы используете SMTP, то маршрутизацию электронной почты необходимо настроить на удаленный почтовый обменник.
Большинство почтовых серверов имеют некоторую квоту на электронную почту, поэтому, если вы достигнете этого числа, они заблокируют отправку электронной почты, поэтому проверка у хостинг-провайдера также является способом проверки.
Иногда вы получаете электронное письмо, подобное приведенному ниже, от вашего хостинг-провайдера.
Это сообщение было создано автоматически программой доставки почты. Сообщение, которое вы отправили, не может быть доставлено одному или нескольким адресатам. получатели. Это постоянная ошибка. Не удалось выполнить следующие адреса: Домен ****.com имеет приостановку исходящей почты. Сообщение отклонено.
Иногда хостинг-провайдеры или серверы блокируют почтовые службы и даже блокируют сторонние службы или SMTP, им необходимо разблокировать почтовые службы, поэтому попросите их разблокировать их.
Посмотрите один пример, который они разместили на своем веб-сайте:
Проверив журналы, я вижу, что почтовые службы были приостановлены за отправку более 1000 сообщений за последние 24 часа 19 ноября 2020 года, что было 2 года назад. У нас есть ограничение на отправку электронной почты на нашем совместно используемом/посреднике хостинге, которое составляет 500 электронных писем в час и 1000 электронных писем в день для учетной записи, превышение которой приводит к приостановке работы почтовых служб.
Если вы не получаете почту с определенного адреса электронной почты, вы можете добавить его в белый список в своем почтовом фильтре, а также проверить папку со спамом.
В этом руководстве пользователя Opencart мы рассмотрели проблемы с отправкой электронной почты и способы их решения.