Перейти к содержанию
View in the app

A better way to browse. Learn more.

Русскоязычное сообщество Opencart

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

В связи с блокировкой банка QIWI оплата через сайт не возможна.
Для оплаты и получения дополнений просьба писать в личные сообщения 
Admin*у
или в Телеграмм https://t.me/pascha_opencart
После оплаты Вам так же будет доступно скачивание дополнений и обновлений на данном форуме

Отправка писем в OpenCart

Рекомендуемые сообщения

Опубликовано

OpenCart является одним из популярных движков на которых можно за короткое время развернуть полноценный интернет магазин. Современный интернет-магазин сложно представить без функции отправки почтовых сообщений. Почтовые сообщения позволяют получать различные уведомления как владельцам сайта, так и покупателям. В свою очередь побуждая их к проявлению нужной активности и не только.
В данном посту мы рассмотрим пример отправки почтовых сообщений через свои скрипты. В системе OpenCart существует базовый набор самых необходимых почтовых уведомлений. Эти почтовые уведомления как правило прописаны в самих модулях. В некоторых ситуациях бывает необходимо сделать самостоятельную отправку письма. Рассмотрим простой пример, как можно отправить своё почтовое сообщение на какой-либо адрес в OpenCart 2.3.

Параметры подключения к почтовому серверу

Разделить процесс отправки для наглядности можно на два этапа. Первый – мы задаем основные настройки подключения к самому серверу почты.

 

// создаём объект класса Mail
$mail = new Mail();
 
// почтовый протокол
$mail->protocol = $this->config->get('config_mail_protocol');
 
// доп параметр
$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'); 

Настройка полей письма

Практически все параметры типичны для всех почтовых серверов. Если вам приходилось до этого настраивать почту, то думаю с ними вам будет и так всё понятно. Кроме того, большинство параметров берутся из настроек самого сайта и менять в этом случае нет необходимости. Второй этап – формирования самого почтового сообщения:

 

// Email-адрес получателя письма
$mail->setTo($order_info['email']);
 
// email-отправителя
$mail->setFrom($this->config->get('config_email'));
 
// имя отправителя
$mail->setSender(html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8'));
 
// тема письма
$mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8'));
 
// почтовый шаблон (подключается вид mail/order)
$mail->setHtml($this->load->view('mail/order', $data));
 
// текст сообщения
$mail->setText($text);
 
// отправка
$mail->send();

Как можно заметить из кода, большинство параметров достаются из самих настроек сайта, посредством метода $this->config->get(). В большинстве случаев менять параметры подключения в данном коде не нужно. Т.к. если они прописаны в настройках сайта, они так же будут использованы и в этом коде. Получается вам предстоит лишь настроить лишь поля, которые заданы на втором этапе (указать получателя, тему, и само сообщение).

После того как все параметры заданы, инициализация отправки происходит посредством использования метода send(). Данный метод выполнит попытку подключения к почтовому серверу, после чего отправит само письмо. Таким образом вы можете отправлять произвольные письма из кода контроллеров и модулей.

Если письма не уходят, то стоит обратить внимание на почтовые настройки самого сайта. Убедиться в том, что почта настроена верно, и другие стандартные письма отправляются исправно. Довольно часто бывает так что требуется обратиться в самому хостеру, чтобы они вам помогли с настройками почтового сервера, со своей стороны. Это делается в том случае, когда почта вся настроена, но письма все-равно не уходят по причине политики безопасности сервера.

Последние посетители 0

  • Ни одного зарегистрированного пользователя не просматривает данную страницу

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.