Author Topic: Suddenly not recieving order confirmation emails, no known change on my end  (Read 9524 times)

kden

  • Beginner
  • *
  • Posts: 41
  • VirtueMart Version: 2.0.20
Twice today I have received orders on my website but I have not gotten the order confirmation email sent to the vendor. The order is still confirmed upon processing acceptance and the confirmed order is set to send the email. This is a sudden change, we have had our site up and running smoothly for almost a year at this version without this issue before.
We only knew about the new orders because we were notified by Authorize.net of a payment processed.

This afternoon (between the 2 orders) I updated to VM 3.0.14 and I updated my template (Virtueplanet Merchant) which was updated to accommodate the VM update.
Use vendor email is deselected to use the joomla system email. Receive System emails is set to yes. Both vendor and system emails are the same so I should be getting the email either way?

I am at a loss why the sudden change, nothing seems to be hacked and the customers still seem to be getting the emails, just not the vendor. I did need to cancel a duplicate order this morning and we got the cancellation email, but never the order confirmed email.

Joomla 3.4.1
Virtuemart 3.0.14

kden

  • Beginner
  • *
  • Posts: 41
  • VirtueMart Version: 2.0.20
Just got another order where the same thing happened. I decided to check using the vendor email address and will see if that makes the difference.

Does anybody know if there would be issues that could pop up with the web host or the email host? I am at a loss as to why we aren't getting the emails, since all I did was update the virtuemart version.

GJC Web Design

  • 3rd party VirtueMart Developer
  • Super Hero
  • *
  • Posts: 10532
  • Virtuemart, Joomla & php developer
    • GJC Web Design
  • VirtueMart Version: 3.6.8
sure they aren't being spam blocked at the server level?

also u don't need to wait for orders to check.. just make a test purchase and toggle the status back and forth to trigger the mails
GJC Web Design
VirtueMart and Joomla Developers - php developers http://www.gjcwebdesign.com
VM3 AusPost Shipping Plugin - e-go Shipping Plugin - VM3 Postcode Shipping Plugin - Radius Shipping Plugin - VM3 NZ Post Shipping Plugin - AusPost Estimator
Samport Payment Plugin - EcomMerchant Payment Plugin - ccBill payment Plugin
VM2 Product Lock Extension - VM2 Preconfig Adresses Extension - TaxCloud USA Taxes Plugin - Virtuemart  Product Review Component
http://extensions.joomla.org/profile/profile/details/67210
Contact for any VirtueMart or Joomla development & customisation

Jumbo!

  • 3rd party VirtueMart Developer
  • Full Member
  • *
  • Posts: 828
  • Full-stack Web Developer
    • www.virtueplanet.com
  • VirtueMart Version: Always latest
Try to send a normal mail using standard Joomla mass mailer and check how it goes.

kden

  • Beginner
  • *
  • Posts: 41
  • VirtueMart Version: 2.0.20
I am able to get emails through the joomla contact form. I believe the customers are receiving the confirmed order email (they might be getting a receipt from authorize.net? I am not sure if the customer gets those) but we the vendor do not get those order emails. I am also getting the error "Could not instantiate mail function." when I try and send a shipped email to the customer. My web host is telling me the php mail function is set up properly and it must be something in virtuemart. Nobody else seems to be having this issue after updating which is worrying us that we are not seeing something majorly wrong.

GJC Web Design

  • 3rd party VirtueMart Developer
  • Super Hero
  • *
  • Posts: 10532
  • Virtuemart, Joomla & php developer
    • GJC Web Design
  • VirtueMart Version: 3.6.8
Quote
Use vendor email is deselected to use the joomla system email.

tried the other way?

sounds like there isn't a receive or sender email set but  you can look further in the J  php mailer class to check
GJC Web Design
VirtueMart and Joomla Developers - php developers http://www.gjcwebdesign.com
VM3 AusPost Shipping Plugin - e-go Shipping Plugin - VM3 Postcode Shipping Plugin - Radius Shipping Plugin - VM3 NZ Post Shipping Plugin - AusPost Estimator
Samport Payment Plugin - EcomMerchant Payment Plugin - ccBill payment Plugin
VM2 Product Lock Extension - VM2 Preconfig Adresses Extension - TaxCloud USA Taxes Plugin - Virtuemart  Product Review Component
http://extensions.joomla.org/profile/profile/details/67210
Contact for any VirtueMart or Joomla development & customisation

kden

  • Beginner
  • *
  • Posts: 41
  • VirtueMart Version: 2.0.20
I tried selecting the vendor email and it doesn't work still. At this point I'm assuming it is either some coding somewhere in the virtuemart messed up when I updated or the server really isn't equipped for php.  It is bizarre that I am able to get the joomla contact form emails even though the error could not instantiate pops up, but the virtuemart emails don't work and give the error.
I think I'll try using a different send mail function, and if that doesn't work try and rewrite the virtuemart files. 

kden

  • Beginner
  • *
  • Posts: 41
  • VirtueMart Version: 2.0.20
This might be a silly question...but where is there coding in virtuemart I should check specifically to fix this issue? I've got to think something got messed up when I updated the virtuemart to 3.0.14.
I checked with our web host, things are set up right, no notice of any emails getting bounced or blocked.
Check with email host (different from web), everything set up right and nothing found getting bounced or blocked.

Emails to VM Customer: Yes
Emails from Joomla Contact form to same email address as VM: Yes  / See error "Could not instantiate mail function." but the email works fine.
Emails from VM to vendor: No  / Error "Could not instantiate mail function."

Don't really want to mess with changing to SMTP or sendmail function because php is working, just the vendor email is not working.

2cool

  • Jr. Member
  • **
  • Posts: 284
Same problem here!! going nuts...
users get mails after registration or contact.
admin also recieves contact form but No User Registration mail.
Tried all options but nothing works.
Using vm 3.0.14 + Joomla! 3.4.8
Also using ARTIO VM Invoices Version: 3.0.9
VP One Page Checkout

Hope someone has any clue.
Regards,
Pas

GJC Web Design

  • 3rd party VirtueMart Developer
  • Super Hero
  • *
  • Posts: 10532
  • Virtuemart, Joomla & php developer
    • GJC Web Design
  • VirtueMart Version: 3.6.8
Quote
"Could not instantiate mail function."

should never show and u need to debug as I said at the Joomla phpmailer level to see what is missing causing the failure ( one assumes the send from or send to email address ) and back trace from there

the mails are sent from the components\com_virtuemart\helpers\shopfunctionsf.php    function renderMail()

you need to debug there
GJC Web Design
VirtueMart and Joomla Developers - php developers http://www.gjcwebdesign.com
VM3 AusPost Shipping Plugin - e-go Shipping Plugin - VM3 Postcode Shipping Plugin - Radius Shipping Plugin - VM3 NZ Post Shipping Plugin - AusPost Estimator
Samport Payment Plugin - EcomMerchant Payment Plugin - ccBill payment Plugin
VM2 Product Lock Extension - VM2 Preconfig Adresses Extension - TaxCloud USA Taxes Plugin - Virtuemart  Product Review Component
http://extensions.joomla.org/profile/profile/details/67210
Contact for any VirtueMart or Joomla development & customisation

2cool

  • Jr. Member
  • **
  • Posts: 284
Not sure this helps, but I recieved the when trying to send registration:
Code: [Select]
Unknown column 'u.company' in 'field list' SQL=SELECT o.*, CONCAT_WS(' ',u.first_name,u.middle_name,u.last_name) AS order_name ,u.email as order_email, pm.payment_name AS payment_method, u.company AS company, u.city AS city, u.zip AS zip, u.phone_1 AS phone, st.address_type AS st_type, st.company AS st_company, st.city AS st_city, st.zip AS st_zip, u.customer_note AS customer_note FROM #__virtuemart_orders as o LEFT JOIN #__virtuemart_order_userinfos as u ON u.virtuemart_order_id = o.virtuemart_order_id AND u.address_type="BT" LEFT JOIN #__virtuemart_order_userinfos as st ON st.virtuemart_order_id = o.virtuemart_order_id AND st.address_type="ST" LEFT JOIN #__virtuemart_paymentmethods_nl_nl as pm ON o.virtuemart_paymentmethod_id = pm.virtuemart_paymentmethod_id WHERE ( u.virtuemart_user_id = 1945 ) order by o.modified_on DESC

Don't know where this comes from....
Regards, Pas

kden

  • Beginner
  • *
  • Posts: 41
  • VirtueMart Version: 2.0.20
Hate to ask, how do I debug at the php mailer level? I understand debugging with the joomla configurations but it seems like you are implying something else.

I turned on the debug tools and for both the front end contact form (which works but kicks up error) and on backend sending order emails (send to customer but not vendor), we get 2 duplicate queries. I assume that is the issue but I am not understanding the codes here. I also think when i saved a pdf of the error on the vm page it scrunched things to make it so when copied it has extra letters like SSEELLEECCTT - could be normal - I'm not messing around with looking at these codes daily so I do not know.

Contact form (works but spits error) :
**Duplicate queries** #14
SELECT `category_child_id` AS `child`, `category_parent_id` AS `parent`
            
  FROM  smj3_virtuemart_category_categories AS `xref`
            
  WHERE `xref`.`category_child_id`= 0
**Explain**
**Profile**
**Call Stack**

**Query Time: 0.27 ms** **After last query: 0.88 ms** **Query memory: 0.024 MB Memory before query: 12.430 MB** **Rows returned: 0**

-AND-

**Duplicate queries**: #13
SELECT `category_child_id` AS `child`, `category_parent_id` AS `parent`
            
  FROM  smj3_virtuemart_category_categories AS `xref`
            
  WHERE `xref`.`category_child_id`= 0
**Explain**
**Profile**
**Call Stack**

Backend resending Joomla orders (goes to customer but not vendor) :
**Query Time: 0.28 ms **   **After last query: 0.34 ms **   **Rows returned: 1 **
Duplicate queries**: #28
**Query memory: 0.021 MB Memory before query: 11.586 MB **
  SSEELLEECCTT `virtuemart_vendor_id`
FFRROOMM `ssmmjj33__vviirrttuueemmaarrtt__vvmmuusseerrss` as `au`
LLEEFFTT JJOOIINN `ssmmjj33__vviirrttuueemmaarrtt__uusseerriinnffooss` as `u`
OONN (au.virtuemart_user_id == u.virtuemart_user_id) WWHHEERREE `u`.`virtuemart_user_id`==85
 **Explain**
**Profile**
 **Call Stack**
 
-AND-

**Query Time: 0.27 ms **  **After last query: 0.47 ms **  **Rows returned: 1 **
**Duplicate queries**: #17
**Query memory: 0.023 MB Memory before query: 13.816 MB **
  SSEELLEECCTT `virtuemart_vendor_id`
FFRROOMM `ssmmjj33__vviirrttuueemmaarrtt__vvmmuusseerrss` as `au`
LLEEFFTT JJOOIINN `ssmmjj33__vviirrttuueemmaarrtt__uusseerriinnffooss` as `u`
OONN (au.virtuemart_user_id == u.virtuemart_user_id) WWHHEERREE `u`.`virtuemart_user_id`==85
 **Explain**
**Profile**
 **Call Stack**
 

GJC Web Design

  • 3rd party VirtueMart Developer
  • Super Hero
  • *
  • Posts: 10532
  • Virtuemart, Joomla & php developer
    • GJC Web Design
  • VirtueMart Version: 3.6.8
No .. I meant u would debug this as you would any script..

so start with what u know.. an error "Could not instantiate mail function"

find where that string is and what throws it

it is coming from mailSend($header, $body) in file \libraries\vendor\phpmailer\phpmailer\class.phpmailer.php

if (!$result) {
            throw new phpmailerException($this->lang('instantiate'), self::STOP_CRITICAL);
        }

add some debugging & backtrace to work backwards from there to find what is missing until u find what it is..

I still suspect sender email
GJC Web Design
VirtueMart and Joomla Developers - php developers http://www.gjcwebdesign.com
VM3 AusPost Shipping Plugin - e-go Shipping Plugin - VM3 Postcode Shipping Plugin - Radius Shipping Plugin - VM3 NZ Post Shipping Plugin - AusPost Estimator
Samport Payment Plugin - EcomMerchant Payment Plugin - ccBill payment Plugin
VM2 Product Lock Extension - VM2 Preconfig Adresses Extension - TaxCloud USA Taxes Plugin - Virtuemart  Product Review Component
http://extensions.joomla.org/profile/profile/details/67210
Contact for any VirtueMart or Joomla development & customisation

2cool

  • Jr. Member
  • **
  • Posts: 284
Hi there,

Struggling with same sort of problem. All mail works except register mail to admin.
What should be checked in this file? or can I simply replace this by a default joomla file?

Hope you can tell me a bit more to solve this issue....finally.
More explained: http://forum.virtuemart.net/index.php?topic=133633.0

Regards, Pas

jenkinhill

  • UK Web Developer & Consultant
  • Global Moderator
  • Super Hero
  • *
  • Posts: 28324
  • Always on vacation
    • Jenkin Hill Internet
Struggling with same sort of problem. All mail works except register mail to admin.

ISTR that following a lot of compaints/requests the automatic registration email to Vendors was removed.

Kelvyn

Jenkin Hill Internet,
Lowestoft, Suffolk, UK

Unsolicited PMs/emails will be ignored.

Please mention your VirtueMart, Joomla and PHP versions when asking a question in this forum

Currently using VirtueMart  4.0.2 10661 on Joomla 3.10.9 PHP 7.4.29