OpenCart и почта

Opencart

Спустя какое-то время. тот магазин. который я делал уже перестал существовать, и дело был не в сайте, а в том что магазин тупо закрылся. Но это совсем не повод забывать об этой CMS системе, которую, для себя, я называю «OpenАд». Я уже успел написать пару статей об этом создании, а это будет третьей, и тема ее будет про настройку почты. Кстати, речь идет о версии 1.5.6.. Есть ли эта ошибка в новых версиях я не знаю, не проверял.

Казалось бы, чего сложного в настройках почты? Указал логин и пароль, smtp сервер или выбрал mail способ доставки почты, но нет. В OpenCart даже тут есть проблема, а проблема заключается в следующей ошибке:

Notice: Error: MAIL FROM not accepted from server! in /var/www/mahgo4/data/www/fishing-trade.com/system/library/mail.php on line 290

Эта ошибка возникла после того, как я указал smtp сервер, логин, пароль, порт для подключения pdd почты от Яндекса.

Собственно, чтобы решить эту проблему, в настройках, на вкладке «Почта», делаем следующее:

  • выбираем протокол: SMTP;
  • в SMTP Host вписываем: ssl://smtp.yandex.ru (без ssl будет ошибка «EHLO not accepted from server!»)
  • в SMTP Login вписываем: [email protected]
  • в SMTP пароль вписываем свой пароль
  • в SMTP порт вписываем 465 порт
  • в SMTP таймаут вписываем: 5

Далее, открываем файл /system/library/mail.php любимым редактором, находим эти строки:

<br />
 if ($this-&gt;verp) {<br />
 fputs($handle, 'MAIL FROM: &lt;' . $this-&gt;from . '&gt;XVERP' . $this-&gt;crlf);<br />
 } else {<br />
 fputs($handle, 'MAIL FROM: &lt;' . $this-&gt;from . '&gt;' . $this-&gt;crlf);<br />
 }<br />

и заменяем из на эти:

<br />
if ($this-&gt;verp) {<br />
 fputs($handle, 'MAIL FROM: &lt;' . $this-&gt;username . '&gt;XVERP' . $this-&gt;crlf);<br />
 } else {<br />
 fputs($handle, 'MAIL FROM: &lt;' . $this-&gt;username . '&gt;' . $this-&gt;crlf);<br />
 }<br />

то есть заменяем from на username, обойдя ошибку отказа сервере о том что «е-mail отправителя не принадлежит пользователю, который авторизовался в системе». После этого почта у вас начнет работать как часы.

источники:

  • https://opencartforum.com/topic/18509-решено-настройка-smtp-сервера-для-mailru/?p=133905
  • https://opencartforum.com/topic/17689-nastroika-smtp-yandexru/?p=142227