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

Не работает отправка уведовмлений о заказе на почту.


prowoke
 Share

Recommended Posts

Здравствуйте. Почему то не отправляется уведомление о заказе на почту. Я использую OcStore 2+. Если посмотреть в файле /model/checkout/order.php, то там у меня было так:

  $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->setSender(html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8'));
					$mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8'));
					$mail->setHtml($html);
					$mail->setText($text);
					$mail->send();

Т.к. я не понял откуда появляется 

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

По идеи должно браться из админки из поля Настройки->Витрина->Email

 

Ну так вот я написал даже в лоб email:

	$this->config->get('config_email');
					//адовый костыль, надо будет поправить.
					$mail->setTo("[email protected]");
					$mail->setFrom($this->config->get('config_email'));

Всё равно на почту не приходит. Но стоит заметить, что на хостинге всё настроено вроде верно, если, например, пробую тестовый скрипт с функцией mail():

$email = "[email protected]"; //senders e-mail adress 
if (mail($email, "tester", "test")) {
	echo "good";
} else {
	echo "bad";
} 

То всё работает.

 

Помогите, пожалуйста, разобраться. Куда копать, как отладить и т.д. Я уже 3 день голову ломаю.

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


что в логах  ? 

папка спама ? 

Логи - это файл error_log в корне сайта который? Если да, то там ничего, что связано с этим.

Папка спама на почте? Если на почте конечной, то нету там ничего.

Link to comment
Share on other sites


Админка => Система (шестеренка) => Настройки => Журнал ошибок 

Очистите все и сделайте заказ 

 

Ну и посмотрите в настройках самого магазина стоит ли галочка уведомлять о заказах  

Link to comment
Share on other sites

Админка => Система (шестеренка) => Настройки => Журнал ошибок 

Очистите все и сделайте заказ 

 

Ну и посмотрите в настройках самого магазина стоит ли галочка уведомлять о заказах  

В админке галочка стоит.

 

В логах вот, что выдаёт.

2016-05-12 20:15:58 - PHP Notice:  Error: E-Mail to required! in /home/niajbelf/public_html/system/library/mail.php on line 61

Причём выдаёт это независимо, что так пишу

//адовый костыль, надо будет поправить.
                    $mail->setTo("[email protected]");

Что так:

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


так у Вас почта пользователя при оформления заказа не предается, вот и ошибка  

Гениально:). А там же exit() стоит. Ну вообще мне почта пользователя то и не нужна при оформлении заказа. Я удалил это поле. Это мне где нужно в код лезть, где идёт отправка на почту пользователя?

Link to comment
Share on other sites


Гениально :). А там же exit() стоит. Ну вообще мне почта пользователя то и не нужна при оформлении заказа. Я удалил это поле. Это мне где нужно в код лезть, где идёт отправка на почту пользователя?

все в том же контроллере оформления заказа

и удалите чат или хотя бы всплывашку с предложения пообщаться,  бесит 

Link to comment
Share on other sites

все в том же контроллере оформления заказа

и удалите чат или хотя бы всплывашку с предложения пообщаться,  бесит 

Вы про сайт? Да, меня тоже бесит. Но заказчик считает это очень крутой статусной фишкой. 

 

А проблему я решил тем, что экранировал в 2 местах отправку почты на пользовательский емаил:

"//$mail->send();"

А как вы увидели сайт, что я делаю? По прошлому посту?

Link to comment
Share on other sites


Вы про сайт? Да, меня тоже бесит. Но заказчик считает это очень крутой статусной фишкой. 

 

А проблему я решил тем, что экранировал в 2 местах отправку почты на пользовательский емаил:

"//$mail->send();"

А как вы увидели сайт, что я делаю? По прошлому посту?

открыл оформления заказа и посмотрел что нет поля -  вот и вывод  

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.