OpneCart ошибка Error: E-Mail to required! in /system/library/mail.php on line 51
Веб мастеру / OpenCart
Просто немыслимое число людей сталкивается с проблемой, отказа системы опенкарт отправлять письма с сайта.
Нигде в интернете не найти ответа для решения данного бага. Именно отсутствие правильных ответов натолкнуло меня на создание данного материала.
В Рунете, что только не предлагают. Сменить протокол, с SMTP на MAIL . Если и у кого-то заработает отправка почты именно благодаря данным изменением - всё равно это не выход, это означает, что так или иначе какие-то проблемы присутствуют, как правило они появляются из-за конфликта модулей с cms opencart, или попросту кривых рук или невнимательности. Редко когда из-за хостинга (если конечно он не бесплатный). У кого-то подобная ошибка появлялась после установки модуля Simple - упрощённое оформление заказа. У кого-то в логах ошибок вместе с
/system/library/mail.php on line 51 , появлялись одновременно ошибки с кешированными php файлами vqmod, и уже благодаря этим кешированным файлам он выяснил причину происхождения подобной ошибки, и исправил её корректируя базу данных, а именно значения полей были почему-то
NULL.
Ответов на самом деле немного, и по моему я собрал их всех, но под конец решил описать самую распространённую причину возникновения данной ошибки.
Файл отправки скорее всего некорректный, возможно в нём не был указан заголовок To (кому).
Т.е. система пыталась отправить письмо в никуда.
В оригинальном файле OpenCart строка есть и To устанавливается, видимо что файл редактировался.
Добавьте:
$mail->setTo($this->config->get('config_email')); на 20-й строке.
Надеюсь помог страдающим ;)