Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Recommended Posts

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

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

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

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

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

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

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

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

Змінено користувачем Yarilo
исправил ошибки
Надіслати
Поділитися на інших сайтах


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

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

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

Надіслати
Поділитися на інших сайтах


Вот код из файла /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();

 

 

Надіслати
Поділитися на інших сайтах


В админке настройка стоит по умолчанию 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

 

 

Надіслати
Поділитися на інших сайтах


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

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

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

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

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

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

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

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

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

 

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

 

Надіслати
Поділитися на інших сайтах

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

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

 

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

 

 

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

нашли

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

и заменили

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

?

Надіслати
Поділитися на інших сайтах

Спойлер

			$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();

 

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

Надіслати
Поділитися на інших сайтах


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

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

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

 

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


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

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


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

 

 

Надіслати
Поділитися на інших сайтах


Только что, Yarilo сказал:

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

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

Надіслати
Поділитися на інших сайтах

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

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

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

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

на

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

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

Надіслати
Поділитися на інших сайтах


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);

 

Надіслати
Поділитися на інших сайтах

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);

 

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

 

Надіслати
Поділитися на інших сайтах


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

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

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

 

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

Надіслати
Поділитися на інших сайтах


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

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

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

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

 

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

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

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.