Jump to content

Recommended Posts

На версии 1.5.5.1.2 не работает форма "Связаться с нами". При заказе, на почту покупателя уведомление приходит, а при попытке покупателя связаться через форму обратной связи ничего вообще не происходит, даже ошибки никакой не выскакивает. Пролистав форум,пробовал варианты решения схожих поблем,не помогло.Если кто сталкивался,подскажите,пожалуйста, в чем тут дело и куда копать?

Share this post


Link to post
Share on other sites

и что же ты пробовал?

проблема у тебя, судя по всему, в ящике на яндексе (например) и, как следствие, smtp отправке.

Share this post


Link to post
Share on other sites

пробовал заменить в contact.php:

$mail->setFrom($this->request->post['email']);
$mail->setSender($this->request->post['name']);
на:

$mail->setFrom($this->request->get['config_email']);
$mail->setSender($this->request->post['email']);
не помогло.

А например(на яндексе) в ящике, что может быть причиной?

Edited by afwollis

Share this post


Link to post
Share on other sites

сам yandex. со своими требованиями к соответствию данных/заголовков.

попробуй так

		if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
			$mail = new Mail();
			$mail->protocol = 'mail';
			$mail->parameter = '';
			$mail->hostname = '';
			$mail->username = '';
			$mail->password = '';
			$mail->port = '';
			$mail->timeout = '';
			$mail->setTo($this->config->get('config_email'));
			$mail->setFrom($this->request->post['email']);
			$mail->setSender($this->request->post['name']);
			$mail->setSubject(html_entity_decode(sprintf($this->language->get('email_subject'), $this->request->post['name']), ENT_QUOTES, 'UTF-8'));
			$mail->setText(strip_tags(html_entity_decode($this->request->post['enquiry'], ENT_QUOTES, 'UTF-8')));
			$mail->send();

			$this->redirect($this->url->link('information/contact/success'));
		}

Share this post


Link to post
Share on other sites

Ща попробую, а вот мне тут мысль пришла, а не может быть причиной установленный недавно SSL-сертификат?

Share this post


Link to post
Share on other sites

вряд ли

Share this post


Link to post
Share on other sites

Попробовал заменить код, не помогло. В дополнение к теме о SSL, только сейчас заметил,что когда перехожу по ссылке на страницу обратной связи,то пропадает зеленый замок в адресной строке,соответственно браузер видит какой-то не защищенный или смешанный контент,я правильно понимаю?У меня была та же байда,когда я только установил сертификат и не мог зайти в админку через https.Набиваю логин и пароль,жму войти и .......... ничего,а через http заходил без проблем, таже картина, что и сейчас с обратной связью.Вход в админку исправил путем замены http на https в директивах admin/config.php,но тут то, что может быть ума не приложу?

Share this post


Link to post
Share on other sites

Наверное точняк тут собака зарыта, браузерная консоль выдаёт:

Mixed Content: The page at 'https://мой сайт.ru/index.php?route=information/contact' was loaded over a secure connection, but contains a form which targets an insecure endpoint 'http://мой сайт.ru/index.php?route=information/contact'. This endpoint should be made available over a secure connection.

Share this post


Link to post
Share on other sites

Так и есть, убрал редиректы и зашел через http - все работает! Вот только как теперь енто дело поправить, чтобы через https работало? Народ, HELP. 

Share this post


Link to post
Share on other sites

смотреть, что нигде жестко не прописано http в файлах

catalog\view\theme\имя вашей темы\template\information\contact.tpl

catalog\controller\information\contact.php

 

так же проверьте наличие <base href= при просмотре исходного кода страниц

 

проверьте страницу контактов через этот сервис

Share this post


Link to post
Share on other sites

Ребята, спасибо всем!!! Без Вас бы не справился! Нашел решение, сам накосячил, в файле корня config.php надо было заменить оба протокола с http: на https:

define('HTTP_SERVER', 'http://my domain.ru/');  на define('HTTP_SERVER', 'https://my domain.ru/'); и

define('HTTPS_SERVER', 'http://my domain.ru/'); на  define('HTTPS_SERVER', 'https://my domain.ru/');

Коренем проблемы была вот эта страница: http://my domain.ru/index.php?route=information/contact/success, т.е. страница с уведомлением:" Ваш запрос был успешно отправлен администрации магазина! , следующая после отправки сообщения.

 Еще раз спасибо Всем!     

Share this post


Link to post
Share on other sites

Подскажите пожалуйста! Тоже есть проблема с отправкой письма в разделе контакты, при заказе товара письма отправляются и администратору и клиенту а из формы связаться с нами нет. Причем заметил что если в поле почты где должен вводить покупатель свою почту покупатель@ya.ru например то письмо администратору не придет а если в это поле вписать почту которая указана на сайте моя почта@домен.ru то письма администратору приходит, получается что в поле email покупатель должен ввести не свой почтовый ящик а ящик сайта.

Сайт лежит на Openserver есть такие логи

2015-12-13 16:56:31  Debug: Connecting to smtp.yandex.ru:465
2015-12-13 16:56:32  Debug: Authenticating as info@eleskon.ru
2015-12-13 16:56:33  Debug: Authentication: OK
2015-12-13 16:56:33  Debug: Disconnecting from smtp.yandex.ru:465
2015-12-13 16:56:33  Debug: Sender address rejected: not owned by auth user.
И еще если в настройках openservera в OSMPT настройках заполнить поле Email отправителя написать свой Email
то форма обратной связи работает и присылает письма но только тогда я не смогу увидеть почту того кто отправлял письмо, так как в ходящем письме стоит что письмо пришло от самого себя и поле Email которое заполняет покупатель не как не узнать!
Подскажите пожалуйста кто знает как можно это исправить?    

Share this post


Link to post
Share on other sites

 

Подскажите пожалуйста! Тоже есть проблема с отправкой письма в разделе контакты, при заказе товара письма отправляются и администратору и клиенту а из формы связаться с нами нет. Причем заметил что если в поле почты где должен вводить покупатель свою почту покупатель@ya.ru например то письмо администратору не придет а если в это поле вписать почту которая указана на сайте моя почта@домен.ru то письма администратору приходит, получается что в поле email покупатель должен ввести не свой почтовый ящик а ящик сайта.

Сайт лежит на Openserver есть такие логи

2015-12-13 16:56:31  Debug: Connecting to smtp.yandex.ru:465
2015-12-13 16:56:32  Debug: Authenticating as info@eleskon.ru
2015-12-13 16:56:33  Debug: Authentication: OK
2015-12-13 16:56:33  Debug: Disconnecting from smtp.yandex.ru:465
2015-12-13 16:56:33  Debug: Sender address rejected: not owned by auth user.
И еще если в настройках openservera в OSMPT настройках заполнить поле Email отправителя написать свой Email
то форма обратной связи работает и присылает письма но только тогда я не смогу увидеть почту того кто отправлял письмо, так как в ходящем письме стоит что письмо пришло от самого себя и поле Email которое заполняет покупатель не как не узнать!
Подскажите пожалуйста кто знает как можно это исправить?    

 

Помогло это решение   https://opencartforum.com/topic/10749-ne-rabotaet-obratnaia-sviaz/?do=findComment&comment=102789

Все работает отлично!

Share this post


Link to post
Share on other sites

Занекропощу... :)

У меня возникла проблема с формой обратной связи после включения SSL на всем сайте. Сообщения о заказах приходят нормально. Форма обратно связи не работает.

Обратил внимание на то, что на всех страницах зелёный замок есть, а на contact_us нет. С http все работало c https - нет.

Проверил https://www.whynopadlock.com

Выдал "Insecure <form> call on line 156"

Итак...

Ошибка на строке 156, у вас может быть другой номер строки.

Поискал, что это такое...

В программировании я не дошел даже до стадии "чайника"

Действовал по наитию, но бережно... :)

В итоге.

В строке файла \template\information\contact.tpl

<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">

Заменил на 

<form action="https://мойсайт/contact-us/" method="post" enctype="multipart/form-data">

 

Я так и не понял, откуда вызывает action "<?php echo $action; ?>".  Для меня это сложно.

 

Но, теперь все работает. Может быть, кому-либо пригодиться. :)

Share this post


Link to post
Share on other sites

Заменил на 

<form action="https://мойсайт/contact-us/" method="post" enctype="multipart/form-data">

 

достаточно было включить ssl  в настройках самого магазина + поменять протокол в конфигах

Share this post


Link to post
Share on other sites

@AlexDW, Это было сделано в первую очередь. SSL в настройках был включен аж два с половиной года назад для оплаты. Конфиги исправлены. И работало везде кроме этой страницы. Я сравнил мои contact.tpl и contact.php c оригинальными файлами, они были одинаковы. В моем случае понадобилось то решение, которое я описал выше. Почему не знаю. :)

Edited by LowTech

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.


  • 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.