Если не отправляется сообщение из формы контактов в Opencart 3

Судя по всему, не работает только с SMTP Яндекса. Нужно в контроллере в адресе отправителя указать переменную, которая содержит почту магазина из настроек SMTP. Она должна быть на своем домене (например, info@site.ru).
 

Инструкция

В файле /catalog/controller/information/contact.php
 заменить

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

на

$mail->setFrom($this->config->get('config_mail_smtp_username'));

потом заменить

$mail->setSender(html_entity_decode($this->request->post['name'], ENT_QUOTES, 'UTF-8'));

на

$mail->setSender($this->config->get('config_name'));


И, чтобы в письме приходил адрес пользователя, заменить этот код:

$mail->setText($this->request->post['enquiry']);

на

$mail->setHTML($this->request->post['enquiry'] . '<br><br>' . $this->request->post['email'] );


Письмо будет приходить с основной почты сайта на неё же, поэтому нельзя будет ответить человеку, нажав кнопку «Ответить». Нужно будет копировать пришедший в тексте письма адрес почты и создавать новое письмо.

Добавить комментарий