Перейти к содержанию
Форум поддержки пользователей VamShop

При оформлении заказа не всегда отправляются письма.


Рекомендуемые сообщения

При оформлении заказа не всегда отправляются письма и вместо страницы "спасибо за покупку" выдает белую страницу с сообщением "Could not instantiate mail function. Could not instantiate mail function."

Что это? И как это исправить?

Ссылка на сообщение
Поделиться на другие сайты

Тогда проверяйте, работает ли нормально php функция mail на сервере, пишет, что не может отправить.

Ссылка на сообщение
Поделиться на другие сайты

Загагулина оказывает в том, что он "помнит" последний e-mail адрес, и когда его же пишешь при повторном оформления заказа он выдает такое сообщение.

Если после первого заказа, во втором указать другой e-mail, то он "забывается" и при следующем заказе письмо отправляется.

Поэтому, при редактирование оформления заказа, приходиться по очереди менять два e-mail адреса.

=================================

Такой проблемы на демо сайте нет.

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

 

 

Попробуйте в /app/Vendor/smarty/vam_plugins/function.checkout.php поменять:

'checkout_form_action' => BASE . '/orders/confirmation/'

на:

'checkout_form_action' => BASE . '/orders/place_order/'

Правда не знаю, сработает или нет.

 
Ссылка на сообщение
Поделиться на другие сайты

У меня такие подозрения, что e-mail где-то остается в кеше и мешает при следующем заказе на этот же e-mail

Ссылка на сообщение
Поделиться на другие сайты

Видимо, это как раз один из глюков вылез после удаления страницы подтверждения заказа.

 

Попробуйте в /app/Controller/OrdersController.php код из метода confirmation, перенести в метод place_order, сверху.

Ссылка на сообщение
Поделиться на другие сайты

Добавил 

global $order;
		
		if (isset($_SESSION['Customer']['order_id'])) {

		foreach($_POST AS $key => $value)
			$order['Order'][$key] = $value;

		$order['Order']['customer_id'] = (!isset($_SESSION['Customer']['customer_id'])) ? 0 : $_SESSION['Customer']['customer_id'];
		if ($_POST['module_coupon_code'] != '') $_SESSION['module_coupon_code'] = $_POST['module_coupon_code'];
		
		$this->Order->save($order);			

		}

И все получилось :)

Спасибо ;)

Ссылка на сообщение
Поделиться на другие сайты

Хотя не....

Вообще какая ерунда.

В одном браузере все нормально, а в другом хрень повторяется. Использую один и тот же e-mail.

Ссылка на сообщение
Поделиться на другие сайты

Я не знаю тогда, что и сказать.

 

Видимо, нужно смотреть, что передаётся в $_POST данных в методе place_order

Ссылка на сообщение
Поделиться на другие сайты

Смотрю на это и ни чего не понимаю.

Все, везде одинаково передается, только почты отличаются...

Может я плохо смотрю

post-3999-0-49849700-1396434584_thumb.jp

post-3999-0-81205800-1396434588_thumb.jp

post-3999-0-73577700-1396434593_thumb.jp

post-3999-0-63462900-1396434597_thumb.jp

Ссылка на сообщение
Поделиться на другие сайты

Может phpMailer'у не нравится email адрес с точками в адресе!?

 

Попробуйте другой адрес, ради эксперимента.

Ссылка на сообщение
Поделиться на другие сайты

Так судя по последнему скрину pit_met@.... email отправляется получается?!

А пробовали разные email указывать, может какую-то зависимость можно отловить, когда ошибку пишет, а когда нет.

 

А то так наугад и не скажу ничего.

Ссылка на сообщение
Поделиться на другие сайты

Заметил, что если в шаблоне написать текст не через "языковые строки", а в прямую и на русском, то будет такая же ошибка.

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

Эта ошибка больше не появляется.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...