Description:
"Warning: Could not send a message to" when changing order status and checking to notify customer.
VirtueMart Version:
1.1.2
Joomla/Mambo Version:
Joomla 1.5.5
Steps to replicate:
Go to Orders -> List Orders -> click and order # to open -> change Order Status on right and check box to Notify Customer then click update. Error above appears in upper left.
Proposed fix(es):
Guessing... this issue is caused by the configuration of VirtueMart User Registration Type as No Account Creation. This may cause user info for orders to go into table USER_INFO rather than ORDER_USER_INFO.
For sure... orders for our customer on site below were going into USER_INFO table. In the file PS_ORDER.PHP the line:
$q = "SELECT first_name,last_name,user_email,order_status_name FROM #__{vm}_order_user_info,#__{vm}_orders,#__{vm}_order_status ";
was joining the table ORDER_USER_INFO for field USER_EMAIL field which there were no records.
Original Lines of code ===>>>:
$q = "SELECT first_name,last_name,user_email,order_status_name FROM #__{vm}_order_user_info,#__{vm}_orders,#__{vm}_order_status ";
$q .= "WHERE #__{vm}_orders.order_id = '".$db->getEscaped($d["order_id"])."' ";
$q .= "AND #__{vm}_orders.user_id = #__{vm}_order_user_info.user_id ";
$q .= "AND #__{vm}_orders.order_id = #__{vm}_order_user_info.order_id ";
$q .= "AND order_status = order_status_code ";
<<<===
changed to ===>>>:
$q = "SELECT first_name,last_name,user_email,order_status_name FROM #__{vm}_user_info,#__{vm}_orders,#__{vm}_order_status ";
$q .= "WHERE #__{vm}_orders.order_id = '".$db->getEscaped($d["order_id"])."' ";
$q .= "AND #__{vm}_orders.user_id = #__{vm}_user_info.user_id ";
$q .= "AND order_status = order_status_code ";
<<<===
Bugtracker task #:
???
System info:
<will post later>
Could you please try with VirtueMart 1.1.3 or even better VM 1.1.4RC
Testing 1.1.4RC without changing any code it works.
Will take some time to test. The site with the issue is a live site taking web orders daily. Will need to backup the current site and restore to a lab environment.
Not sure we would want our client to run a live site using a release candidate though even if it does work. How long as 1.1.4RC been out and is it stable?
It is best to test it in dev environment http://forum.virtuemart.net/index.php?topic=56112.0 no upgrade path from 1.1.4RC to 1.1.4Stable
I"m having the same issues. I have joomla 1.5.3 virtu - 1.1.3 and php 5.
i have phpmail and send mail and smtp tried still doesn't work. I changed the code above and it still doesn't work. I have no account registration in vm setup.
When registering in joomla and what not get email. when placing order and or updating order nothing. Please please help me I need to get this site live.
I also have my store info setup so email is in there.
http://www.prodigyuniforms.com
Hello
I have the same problem..
I have done changing the code but still the email cant be sent. What the problem ?
VirtueMart Version:
1.1.2 updated to 1.1.3
Joomla/Mambo Version:
Joomla 1.5.9
Quote from: jasonwmartin on June 26, 2009, 20:57:28 PM
Description:
"Warning: Could not send a message to" when changing order status and checking to notify customer.
Steps to replicate:
Go to Orders -> List Orders -> click and order # to open -> change Order Status on right and check box to Notify Customer then click update. Error above appears in upper left.
Proposed fix(es):
Guessing... this issue is caused by the configuration of VirtueMart User Registration Type as No Account Creation. This may cause user info for orders to go into table USER_INFO rather than ORDER_USER_INFO.
For sure... orders for our customer on site below were going into USER_INFO table. In the file PS_ORDER.PHP the line:
$q = "SELECT first_name,last_name,user_email,order_status_name FROM #__{vm}_order_user_info,#__{vm}_orders,#__{vm}_order_status ";
was joining the table ORDER_USER_INFO for field USER_EMAIL field which there were no records.
Original Lines of code ===>>>:
$q = "SELECT first_name,last_name,user_email,order_status_name FROM #__{vm}_order_user_info,#__{vm}_orders,#__{vm}_order_status ";
$q .= "WHERE #__{vm}_orders.order_id = '".$db->getEscaped($d["order_id"])."' ";
$q .= "AND #__{vm}_orders.user_id = #__{vm}_order_user_info.user_id ";
$q .= "AND #__{vm}_orders.order_id = #__{vm}_order_user_info.order_id ";
$q .= "AND order_status = order_status_code ";
<<<===
changed to ===>>>:
$q = "SELECT first_name,last_name,user_email,order_status_name FROM #__{vm}_user_info,#__{vm}_orders,#__{vm}_order_status ";
$q .= "WHERE #__{vm}_orders.order_id = '".$db->getEscaped($d["order_id"])."' ";
$q .= "AND #__{vm}_orders.user_id = #__{vm}_user_info.user_id ";
$q .= "AND order_status = order_status_code ";
<<<===
Bugtracker task #:
???
System info:
<will post later>
same problem here.