Jump to content
Sign in to follow this  
2job

Настройка почты в Опенкарт 2.1

Recommended Posts

Здравствуйте!

 

Пожалуйста, помогите настроить почту.

MX-записи  на сервере корректные: Яндекс подтвердил их наличие, правильность и подключение домена.

 

В настройках сайта (Настройки/Почта) устанавливал:

SMTP хост: ssl://smtp.yandex.ru

SMTP логин: [email protected]мой_домен.ru

SMTP пароль: ……

SMTP порт: 465

SMTP таймаут: 5

 

Тем не менее после подключения Яндекс.почты для домена не работают все модули, так или иначе «завязанные» на почту – форма обратной связи, заказ товара, подписаться на новости, оставить комментарий и т.п. Извещения не доходят ни до отправителя, ни до получателя. Появляются сообщения об ошибках.

 

Если в Система/Настройки/Почта/Почтовый протокол установить mail, почта все-равно не работает, хотя сообщения об ошибках и не появляются.

 

В случае SMTP-протокола, если в основных настройках сайта в качестве SMTP Логина указывается первоначально созданный ящик на домене - [email protected]мой домен.ru, в работе модулей появляется следующее сообщение: "Notice: Error: MAIL FROM not accepted from server! In /var/www/…/data/www/…/system/library/mail.php on line 328"

 

Но если там же в качестве SMTP Логина указать другие почтовые ящики, созданные в Яндексе на этом домене - [email protected]мой домен.ru или [email protected]мой домен.ru , появляется другое сообщение об ошибке: "Notice: Error: Password not accepted from server! in /var/www/.../data/www/…/system/library/mail.php on line 289"

 

Обе эти ошибки (в зависимости от выбора SMTP Логина) повторяются во всех модулях, связанных с работой почты. Пароли и логины многократно вводились заново как вручную, так и методом копирования. Это так же не зависит от шаблона магазина – помимо действующего, был опробован «чистый» дефолтный (без каких-либо правок), все в точности повторяется. Сайт работает на Opencart 2.1.0.1 (офиц.сборка + русский язык). Самостоятельный поиск решения проблемы до сих пор не дал результата.

 

Обращался в поддержку к Яндексу. Их ответ: Судя по всему, проблема возникает на стороне сайта, который Вы используете. Мы никак не ограничиваем приём или отправку писем с ящика [email protected]мой домен.ru.

 

Писал своему хостеру. Его ответ: Почта у вас работает. Ошибка, которую вы указали, свидетельствует о том, что отправитель указан отличный от существующего почтового ящика.

 

На всякий случай проверил сервер на наличие ограничений, создав testmail.php и проверив его скриптом http://domian.com/testmail.php: сообщение «test php mail» пришло на указанный email, т.е. функция php mail работает корректно.

 

Сейчас пробую подключить почту через сервер Mail.ru. MX-записи подтверждены. Создан аналогичный почтовый ящик на сервере - [email protected]мой домен.ru. В Система/Настройки/Почта стоят параметры:

Режим SMTP

SMTP хост: ssl://smtp.mail.ru

SMTP логин: [email protected]мой_домен.ru

SMTP пароль:……

SMTP порт:465

SMTP таймаут:5

 

Почта не отправляется. Выходит другая ошибка:

Notice: Error: RCPT TO not accepted from server! in /var/www/…/data/www/…/system/library/mail.php on line 346

 

На одном из форумов нашел совет изменить mail.php , заменив в двух строках $this->from на $this->username, в итоге вылезла следующая ошибка:

Notice: Undefined property: Mail::$username in /var/www/…/data/www/…/system/library/mail.php on line 314Notice: Error: MAIL FROM not accepted from server! in /var/www/…/data/www/…/system/library/mail.php on line 328

 

Во всех случаях пробовал (по совету другого форума) в настройках «Параметры функции» вписать функцию

[email protected]мой_домен.ru . Никакой реакции.

 

Я так понимаю, причина – в «родных» настройках Опенкарт. Хостинг никак не ограничивает работу почты. Созданные ящики моего домена на Яндекс и Майл.Ру прекрасно работают (с них отправляется/принимается почта). Остается только сам сайт.

Что еще можно сделать, чтобы Почта, наконец, заработала на Опенкарт 2.1.0.1? Куда обратиться?

Edited by 2job

Share this post


Link to post
Share on other sites

Возможно, это произошло после того, как вы убрали обязательность заполнения почты клиентом, попробуйте настройки почты по умолчанию "mail", в …/system/library/mail.php закомментировать одну строку

public function send() {
if (!$this->to) {
trigger_error('Error: E-Mail to required!');
/* exit(); */
}

Ну и копайте в том же направлении

Share this post


Link to post
Share on other sites
10 часов назад, sh2rmann сказал:

Возможно, это произошло после того, как вы убрали обязательность заполнения почты клиентом, попробуйте настройки почты по умолчанию "mail", в …/system/library/mail.php закомментировать одну строку

public function send() {
if (!$this->to) {
trigger_error('Error: E-Mail to required!');
/* exit(); */
}

Ну и копайте в том же направлении

Да! Спасибо за ваш ответ. Я разобрался. В моем случае нужно было сделать следующее.

1. Подождать немного с подключением к почтовому серверу Майл.Ру (чтобы вступили в действие изменения, видимо, у них на это может уходить до нескольких часов)

2. Прописать в настройках магазина (Система/Настройки/Магазин) в качестве основного подключенный адрес почты. На этом этапе заработала почта во всех модулях, кроме Формы обратной связи и Формы Задать вопрос об этом товаре

3. Чтобы заработала форма обратной связи в обязательном порядке пришлось СНАЧАЛА ПОЧИСТИТЬ и ОБНОВИТЬ модификаторы (в некоторых случаях может потребоваться возврат к последнему бэкапу)

4. И только потом внести следующие правки в contact.php:
$mail->setTo($this->config->get('config_email'));
$mail->setFrom($this->request->post['email']);
$mail->setSender(html_entity_decode($this->request->post['name'], ENT_QUOTES, 'UTF-8'));
поменять на:
$mail->setTo($this->config->get('config_email'));
$mail->setFrom($this->config->get('config_email'));
$mail->setSender($this->request->post['email']);

5. Чтобы заработала форма Задать вопрос об этом товаре нужно было внести аналогичные правки по адресу:

catalog/controller/module/product_questions.php

 

На этом все.))

  • +1 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.