Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Проблема с Связаться с нами


 Share

Recommended Posts

Добрый день! Два дня шерстил весь интернет и форумы по opencart, находил пару вариантов решения проблемы, но и они не помогали, а заявки (обращения) клиентов теряются =(

Суть проблемы страницы Контакты (Связаться с нами):

Когда клиент хочет обратиться к нам или сделать заявку (не хочет использовать корзину или другие варианты связи, которых предостаточно), и заполняет стандартную форму:

ФИО:..................

Email:.................Если в это поле клиент укажет свою личную почту с доменом @mail.ru , то такие письма не приходят, даже в спам.

Комментарий:...

Наша почта [email protected] с доменным именем и почтовыми настройками находиться на хостинге, где и сам сайт. Сами мы к @mail.ru отношения не имеем.

Собственно вопрос: Как сделать, что бы письма приходили?

Edited by Yarilo
исправил ошибки
Link to comment
Share on other sites


1 минуту назад, spectre сказал:

Отправлять от мыла магазина а мыло клиента писать в письмо или replyTo

Я это понимаю, но как реализовать увы и ах. Потому и обратился на форум. В одной теме нашёл нечто подобное, поменял. Но всё равно не помогло =(

Link to comment
Share on other sites


Вот код из файла /catalog/controller/information:

Спойлер
if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
			$mail = new Mail();
			$mail->protocol = $this->config->get('config_mail_protocol');
			$mail->parameter = $this->config->get('config_mail_parameter');
			$mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');
			$mail->smtp_username = $this->config->get('config_mail_smtp_username');
			$mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');
			$mail->smtp_port = $this->config->get('config_mail_smtp_port');
			$mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');

			$mail->setTo($this->config->get('config_email'));
			$mail->setFrom($this->config->get('config_email'));
            $mail->setReplyTo($this->request->post['email']);
			$mail->setSender(html_entity_decode($this->request->post['name'], ENT_QUOTES, 'UTF-8'));
			$mail->setSubject(html_entity_decode(sprintf($this->language->get('email_subject'), $this->request->post['name']), ENT_QUOTES, 'UTF-8'));
			$message=$this->request->post['email']."\n\n".$this->request->post['enquiry'];
			$mail->setText($message);
			$mail->send();

 

 

Link to comment
Share on other sites


В админке настройка стоит по умолчанию mail, при смене SMTP и настройке, после отправки письма через контакты:

 

Спойлер
Fatal error: Uncaught exception 'Exception' with message 'Error: EHLO not accepted from server!' in /system/library/mail.php:201 Stack trace: #0 /system/storage/modification/catalog/controller/information/contact.php(40): Mail->send() #1 [internal function]: ControllerInformationContact->index() #2 /system/storage/modification/system/engine/action.php(51): call_user_func_array(Array, Array) #3 /system/engine/front.php(34): Action->execute(Object(Registry)) #4 /system/engine/front.php(29): Front->execute(Object(Action)) #5 /system/framework.php(103): Front->dispatch(Object(Action), Object(Action)) #6 /system/startup.php(105): require_once('/home/srv116203...') #7 /index.php(20): start('catalog') #8 {main} thrown in /system/library/mail.php on line 201

 

 

Link to comment
Share on other sites


1 час назад, Yarilo сказал:

Добрый день! Два дня шерстил весь интернет и форумы по opencart, находил пару вариантов решения проблемы, но и они не помогали, а заявки (обращения) клиентов теряются =(

Суть проблемы страницы Контакты (Связаться с нами):

Когда клиент хочет обратиться к нам или сделать заявку (не хочет использовать корзину или другие варианты связи, которых предостаточно), и заполняет стандартную форму:

ФИО:..................

Email:.................Если в это поле клиент укажет свою личную почту с доменом @mail.ru , то такие письма не приходят, даже в спам.

Комментарий:...

Наша почта [email protected] с доменным именем и почтовыми настройками находиться на хостинге, где и сам сайт. Сами мы к @mail.ru отношения не имеем.

Собственно вопрос: Как сделать, что бы письма приходили?

 

Посмотрите решение здесь 

 

Link to comment
Share on other sites

2 минуты назад, Yarilo сказал:

Не помог Ваш способ =(

 

Рассказывайте как делали.

 

 

в файле \catalog\controller\information\contact.php

нашли

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

и заменили

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

?

Link to comment
Share on other sites

@Gann у Вас там сказано добавить после строки :

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

Добавить:

$mail->setFrom($this->config->get('config_email'));
Link to comment
Share on other sites


Спойлер
			$mail->setTo($this->config->get('config_email'));
			$mail->setFrom($this->config->get('config_email'));
            $mail->setReplyTo($this->request->post['email']);
			$mail->setSender(html_entity_decode($this->request->post['name'], ENT_QUOTES, 'UTF-8'));
			$mail->setSubject(html_entity_decode(sprintf($this->language->get('email_subject'), $this->request->post['name']), ENT_QUOTES, 'UTF-8'));
			$message=$this->request->post['email']."\n\n".$this->request->post['enquiry'];
			$mail->setText($message);
			$mail->send();

 

У меня код изначально был такой, как в спойлере выше

Link to comment
Share on other sites


Делал вот это, но страница контакты вообще выпала с ошибками

В 20.10.2017 в 06:25, Gann сказал:

Если кому то нужно будет также сделать, то вот решение:

 

После второго:

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

нужно добавить

$mail->setReplyTo($order_info['email']);

 

 

Link to comment
Share on other sites


5 минут назад, spectre сказал:

там не ордер инфо а поле из post

я пробовал менять

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

на

$mail->setReplyTo($order_info['email']);

Аналогично сайт падает (страница контакты) с ошибками

Link to comment
Share on other sites


4 минуты назад, Yarilo сказал:

Прочитал, но если честно, не понимаю

:-D запутались

 

В общем, откройте  \catalog\controller\information\contact.php

 

 

найдите

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

и замените на

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

Затем

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

 

заменяем

 

$message=$this->request->post['email']."\n\n".$this->request->post['enquiry'];

$mail->setText($message);

 

Link to comment
Share on other sites

2 минуты назад, Gann сказал:

:-D запутались

 

В общем, откройте  \catalog\controller\information\contact.php

 

 

найдите

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

и замените на

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

Затем

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

 

заменяем

 

$message=$this->request->post['email']."\n\n".$this->request->post['enquiry'];

$mail->setText($message);

 

Эти строчки кода у меня прописаны в дефолтном варианте. Проверил, даже менять ни чего не надо. Но проблема актуальна =(

 

Link to comment
Share on other sites


Обнаружил, что хостеру письмо всё таки поступает...но потом не пересылается мне (именно связанные с @mail.ru)

Другие приходят сразу в спам. 

проблема с mail ru-1.jpg

Link to comment
Share on other sites


Ответ Хостинга:

Нужно менять настройки скрипта так, чтобы указываемый в форме адрес не подставлялся в заголовки.

Убрать подстановку адреса в заголовок письма. Иначе mail не разрешит переадресовывать.

 

Поясню, письма идут на [email protected], далее идёт переадресация на личную почту, так как объем для почты у хостера слабоват.

Link to comment
Share on other sites


  • 4 months later...
В 22.05.2018 в 13:14, Yarilo сказал:

Ответ Хостинга:

Нужно менять настройки скрипта так, чтобы указываемый в форме адрес не подставлялся в заголовки.

Убрать подстановку адреса в заголовок письма. Иначе mail не разрешит переадресовывать.

 

Поясню, письма идут на [email protected], далее идёт переадресация на личную почту, так как объем для почты у хостера слабоват.

Решили проблему?

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

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.