Налаштування пошти в OpenCart. Надсилання email повідомлень opencart Надсилання довільного SMS-повідомлення з налаштувань модуля

16.12.2021

Від автора:Вітаю вас, друзі. Отже, ми продовжуємо цикл статей, присвячених знайомству з однією з найпопулярніших CMS для створення інтернет-магазинів – OpenCart (Оперкарт). У цій статті ми поговоримо про те, як на OpenCart налаштувати пошту.

Однією з потрібних функцій OpenCart є відправка пошти. Після кожного оформленого замовлення інформація про нього повинна приходити на пошту менеджеру сайту, щоб він оперативно зміг обробити замовлення, що надійшло. Також бажано надсилати і лист клієнту та досконале замовлення, це буде гарним тоном щодо клієнта. Давайте подивимося, як і де налаштувати пошту в OpenCart.

Як ви розумієте, робиться це в адмінці, куди ми переходимо. Заходимо в меню Система – Налаштування та заходимо у редагування налаштувань магазину. Тут нас насамперед цікавить вкладка Вітрина. Відкриваємо її та знаходимо поле E-Mail.

Тут вже є адреса пошти, це та адреса, яка була вказана при установці движка. Якщо він підходить для повідомлень із сайту, тоді залишайте його, якщо не підходить, тоді вкажіть інший замість нього.

Чудово! Тепер усі повідомлення з сайту повинні надходити на цей email. Про всяк випадок обов'язково протестуйте цей момент, створивши тестове замовлення. Якщо на пошту надійшов лист із даними замовлення, то все працює. Якщо листа немає (обов'язково перевірте папку Спам), тоді можна спробувати вказати іншу скриньку, бажано на іншому домені. Якщо і з другим ящиком та сама проблема, тоді, швидше за все, на вашому хостингу відключена функція mail і листи просто не надсилаються.

Чи не біда, рішення є і для даної ситуації. На цій же сторінці редагування параметрів є вкладка Пошта, переходимо до неї.

Ця вкладка дозволяє настроїти надсилання пошти за допомогою протоколу SMTP. Для цього у вас має бути поштова скринька, яка дозволяє здійснювати надсилання пошти з поштових клієнтів. Наприклад, це може бути скринька yandex.ru, mail.ru, gmail.com, ukr.net та інші. Вам необхідно в налаштуваннях поштової скриньки дозволити надсилання пошти з поштових клієнтів та отримати налаштування SMTP: хост та порт. Усі необхідні налаштування ви вписуєте у пропоновані поля, керуючись підказками. Як поштовий протокол замість Mail вибираєте SMTP. Щоб було зрозуміліше, як працювати з SMTP, рекомендую подивитися, з нього ви зрозумієте, що це за налаштування та як їх використовувати.

28 жовтня 2019 року були опубліковані нові версії модуля з надсилання повідомлень з OpenCart/ocStore, в яких виправлена ​​помилка з некоректною роботою селектора імен відправників у випадку, якщо клієнт/партнер використовує більше 1 імені відправника. Якщо Ви використовуєте старішу версію модуля, рекомендуємо перевстановити модуль.

Якщо наш модуль не встановлюється за стандартною процедурою, описаною нижче, це відбувається, швидше за все, через використання нестандартного шаблону, правок файлів движка або через використання модулів, що використовують модифікатори. У цьому випадку зверніться до нашої підтримки і Вам допоможуть встановити модуль для надсилання SMS-повідомлень.

За допомогою модуля інтеграції розсилок "сайт: СМС/Email-розсилки та повідомлення" та OpenCart/ocStore Ви можете надсилати СМС- та Email-повідомлення за заданими подіями адміністратору та покупцям інтернет-магазину.

2.Сумісність

  1. OpenCart: 2.0, 2.1, 2.2, 2.3, 3.0
  2. ocStore: 2.1, 2.2, 2.3, 3.0

3. Функціонал

  1. Автоматичне СМС/Email-повідомлення адміністраторам (одному або декільком) інтернет магазину про появу нового замовлення (надсилання Email підтримується тільки для версії 3.0)
  2. Автоматичне надсилання СМС/Email-повідомлень користувачам інтернет-магазину при зміні статусів замовлень
  3. Можливість налаштувати будь-який режим надсилання повідомлень: тільки СМС, тільки Email або СМС та Email разом
  4. Надсилання довільних SMS-повідомлень на будь-який номер з налаштувань модуля
  5. Надсилання довільних СМС-повідомлень з карток замовлень
  6. Підтримка шаблонів СМС/Email-повідомлень (наприклад, повідомлення про нове замовлення, зміну статусу замовлення та багато іншого), у тому числі стандартних та персоніфікованих
  7. Можливість гнучкого налаштування повідомлень: Ви можете налаштувати SMS/Email-повідомлення тільки для певних статусів замовлення
  8. Персоніфікація текстів SMS/Email-повідомлень (включаючи тему листа)
  9. Баланс рахунку онлайн
  10. Збереження історії надісланих SMS/Email-повідомлень
  11. Можливість надсилати Email через наш SMTP-сервер
  12. Фільтрування некоректних номерів телефонів (довгих, коротких);
  13. Розпізнавання номерів телефонів у різних форматах, наприклад, +79001234567, 79001234567, 89001234567 і т.п.;
  14. ігнорування немобільних номерів телефонів;
  15. Автоматичне завантаження імен відправників з Вашого особистого кабінету СМС-розсилок sms.сайт;
  16. Надсилання СМС абонентам усього світу (Росія, Україна, Білорусія, Казахстан тощо) та багато іншого.

4.Активація ( на прикладі ocStore 2.3.)

5.Налаштування


6.Особливості установки модуля для Opencart/ocStore 3.0

Як відомо, в OpenCart/ocStore 3.0 немає можливості встановлювати файли в папку system (а нам це потрібно), тому:

  1. Спочатку потрібно завантажити та встановити скачений модуль в адміністраторській панелі OpenCart/ocStore у пункті меню "Встановлення доповнень"





  2. Після цього зайти в "Модифікатори" та натиснути кнопку "Оновити"

  3. Далі встановити модуль targetsms-opencart-3.0.ocmod.zip (версія, яка підтримує відправку тільки СМС-повідомлень) або модуль targetsms_email-opencart-3.0.ocmod.zip (версія, яка підтримує відправку та СМС- та Email-повідомлень) точно так ж, як описано у прикладі для версії OpenCart/ocStore 2.3. вище.











7. Створення шаблону СМС-повідомлення про нове замовлення адміністраторам інтернет-магазину


8. Створення шаблонів СМС-повідомлень про статуси замовлень покупцям інтернет-магазину

  1. Перейдіть на вкладку "Шаблони СМС покупцю"
  2. Введіть тексти шаблонів SMS-повідомлень активованих статусів за допомогою параметрів персоніфікації, якщо потрібно

9. Створення шаблону Email-повідомлення про нове замовлення адміністраторам інтернет-магазину


10. Створення шаблонів Email-повідомлень про статуси замовлень покупцям інтернет-магазину

  1. Перейдіть на вкладку "Шаблони Email покупцю"
  2. Активуйте потрібні Вам статуси замовлень, поставивши галочки
  3. Заповніть теми та введіть тексти шаблонів Email-повідомлень активованих статусів за допомогою параметрів персоніфікації, якщо потрібно
  4. Натисніть кнопку "Зберегти" праворуч угорі

11.Підтримка шаблонів

  1. В обробці
  2. Повернення
  3. Відшкодований
  4. Доставлено
  5. Невдалий
  6. Очікування
  7. Скасування та анулювання
  8. Скасовано
  9. Цілком змінений
  10. Повне повернення
  11. Угода завершена
  12. А також: шаблони SMS для довільних (кастомних) статусів

12.Персоніфікація текстів SMS/Email-повідомлень

У тексті повідомлення доступні такі змінні особи:

  1. (CUSTOMER_NAME) - ПІБ покупця
  2. (CUSTOMER_FIRSTNAME) – ім'я покупця
  3. (CUSTOMER_LASTNAME) – прізвище покупця
  4. (CUSTOMER_EMAIL) – email покупця
  5. (CUSTOMER_PHONE) – телефон покупця
  6. (NUMBER) – номер замовлення
  7. (TOTAL_ORIGINAL_PRICE) - вартість замовлення без знижки
  8. (TOTAL_PRICE) - ціна замовлення
  9. (TOTAL_AMOUNT) – кількість товару
  10. (STATUS_CHANGE_DATE) - дата останньої зміни статусу
  11. (ORDER_DATE) - дата оформлення замовлення
  12. (ORDER_DISCOUNT_VALUE) - розмір знижки на замовлення
  13. (DELIVERY_PRICE) - ціна доставки
  14. (COMMENT_ADMIN) - поле "Коментар" (наприклад, для вставки поштового треку замовлення)

13.Надсилання довільного СМС-повідомлення з налаштувань модуля

  1. Відкрийте вкладку "Надіслати СМС"
  2. Введіть номер телефону одержувача та текст повідомлення
  3. Натисніть кнопку "Надіслати"

14. Відправка довільного SMS-повідомлення з картки замовлення

  1. Відкрийте картку потрібного Вам замовлення
  2. Внизу сторінки в полі "Повідомлення" введіть потрібний Вам текст СМС
  3. Натисніть кнопку "Надіслати" (ім'я відправника автоматично буде взято з налаштувань модуля, номер телефону покупця - з картки замовлення)

15. Історія СМС

Переглянути історію надісланих СМС повідомлень можна на вкладці "Історія СМС"

16. Історія Email

Переглянути історію надісланих Email-повідомлень можна в особистому кабінеті SMS-розсилок SMS.

17.Поповнення балансу СМС-розсилок

Перевірити та поповнити баланс можна на вкладці "Налаштування"

18. Типові проблеми та складності

Найпопулярніші проблеми та питання роботи з інтеграцією описані .

Тестові повідомлення безкоштовно

Замовник поставив завдання змінити повідомлення на пошту адміна. Надсилання email повідомлень opencart. Думав дуже просте завдання, але у мене пішло на це 2 дні. Перша складність виникла при надсиланні пошти на mail.ru. Чомусь повідомлення на цю поштову службу просто не надходили.

Отже, завдання отримав. Далі став налаштовувати opencart змінив в налаштуваннях пошту для сайту та адміністратору. Почав тестувати, але повідомлення не надходили. До моменту зміни скуштував форму просто від балди. Замовник відписав, що повідомлення прийшло, але суть його завдання змінити в заголовку листа від: email, простіше кажучи йому приходили повідомлення з поштою відправника та одержувача його ж поштової адреси.

Не знаю навіщо потрібна ця картинка взагалі, ну та гаразд.

Не надходять повідомлення opencart

І ось замовник відписав пошту отримав я ж після зміни поштової адреси на ресурс від mail.ru ніяк не міг отримати листа, не стану ж писати замовнику, що не розумію в чому справа. У результаті пішов цілий день на це. У чому питання так і не зрозуміло, просто змінив поштову адресу на yandex.

Наступного моменту була повна розгубленість, звідки чого береться, хоч і вже працював на opencart. Наступного дня пішов на те, щоб зрозуміти структуру ЦМС.

Основний файл відправлення:

system\library\mail.php

За аналогією знаходимо схожі поля в contact.tpl та дублюємо. Потім знаходимо контролер contact.php така сама назва тільки розширення php. В даному випадку було прописано у рядку

$mail->setFrom($this->config->get("config_email"));

Замінив на

$mail->setFrom($this->request->post["email"]);

Якщо потрібно передати в тіло листи значення з форми, то додати в контролер

$mail->setText($this->request->post["name"]); $mail->setText($this->request->post["phone"]); $mail->setText($this->request->post["subject"]);

Я тільки розбираюсь з Opencart 3 і не дуже люблю ставити незрозумілі доповнення, а люблю все розбирати і вивчати і ось після того як клієнту запустили сайт і в цей же день після першого замовлення було прийнято рішення переробити лист, який приходить адміну та менеджеру про замовлення, а саме що б у листі було:

  • прізвище
  • телефон
  • адреса
  • Місто
  • спосіб оплати
  • спосіб доставки

Отже, потрібно всі поля, які заповнює покупець на сайті.

У результаті ось чого прийшов.

Коли клієнт оформляє замовлення, то йому надходить лист із усією інформацією:

тоді як адміністратору приходить ось такий ось сумний лист (((


НУ як ви розумієте, а точніше хто хоч раз тримав свої інтернет магазини, відразу скаже, що це нікуди не годиться, не зателефонувати, ні дізнатися якусь інформацію і щоб отримати більш докладну інформацію треба заходити в адмінку, а якщо ви в дорозі і не можете зайти до адмінки?

НУ зрештою я пішов іншим шляхом і зробив просто підміну листів, тобто. адміну надходитиме такий самий лист як і клієнту)

а тепер трохи магії і справа в капелюсі)

Opencart 3 лист адміну про замовлення

Для того щоб в opencart лист адміну про замовлення вся інформація надходила в листі, потрібно правити два файли:

  1. /catalog/controller/mail/ order.php
  2. /catalog/view/theme/yourtheme/template/mail/ order_alert.twig

order.php

Відкриваємо файл order.phpі шукаємо рядок 270, де є такий текст:

$mail->setTo($order_info['email']);
$mail->setFrom($from);
$mail->
$mail->setSubject(html_entity_decode(sprintf($language->get(‘text_subject’), $order_info[‘store_name’], $order_info[‘order_id’]), ENT_QUOTES, ‘UTF-8’)));
$mail->setHtml($this->load->view('mail/order_add', $data));
$mail->send();

Під ним вставляємо цей код:

$mail->setTo($this->config->get('config_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(sprintf($this->language->get('text_subject'), $this->config->get('config_name'), $order_info['order_id']), ENT_QUOTES, ' UTF-8'));
$mail->setHtml($this->load->view('mail1/order_alert', $data));
$mail->send();

Дана вставка коду була вставлена ​​в розділ, де формується і відправляється лист покупцю, і ми такий же лист відправляємо ще й адміністратору, як бачите, ми підставили шаблон листа. order_alert )))

order_alert.twig

Те, що ми зробили вище за фактом нічого не змінить, нам буде приходити все той же убогий лист, а все тому, що ми ще не змінили шаблон листа, який має приходити адміністратору!

Дивіться, я робив все на стандартному шаблоні Opencart з темою default і тому я створював спеціально для цього папку mail1 і в ній створюємо файл order_alert.twig , якщо у вас своя тема, то просто створюєте папку mail якщо її там немає

Дані для файлу order_alert.twig повністю копіюємо з файлу order_add.twig (що лежить за адресою /catalog/view/theme/default/template/mail)

Після цього нам на пошту прийде такий лист)


Ну і як завжди відео))

Немає подібних записів.