Отправка email сообщений opencart

Заказчик поставил задачу изменить приходящее сообщение на почту админа. Отправка email сообщений opencart. Думал совсем простая задача, но у меня ушло на это 2 дня. Первая трудность возникла при отсылке почты на mail.ru. Почему-то сообщения на данную почтовую службу просто не приходили.

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

Отправка email сообщений opencart
Отправка email сообщений opencart

Не знаю зачем нужна эта картинка вообще, ну да ладно.

Не приходят сообщения opencart

И вот заказчик отписал почту получил я же после изменения почтового адреса на ресурс от mail.ru никак не мог получить письмо, не стану же писать заказчику что не понимаю в чем дело. В итоге ушел целый день на это. В чем вопрос так и не понял, просто изменил почтовый адрес на yandex.

В следующий момент была полная растерянность откуда чего берется, хоть и уже работал на opencart. Следующий день ушел на то чтобы понять структуру ЦМС.

Отправка email сообщений 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']);

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *