Jump to content

Virtual product email not being sent, any help ?

Recommended Posts

When people buy a virtual product on my 1.6 PS site they are not sent an email with a download link on, even after the order status is changed to accepted. Any ideas what I can do ? They can still download via their account but this isn't ideal.

Share this post

Link to post
Share on other sites

Form the description is not clear for me is the issue with email sending in general or just download link emails?


To check if you have issues with emails go to Advanced parameters -> Emails and send test email to yourself. 


To see specific email, go to Orders->Statuses and see what template is assigned to "Accepted" status. If there is no email you know the problem.

If there is an email you can click edit on the status and preview template to see if it has a link for product download

Or you can go to Localization->Translations and choose "Email template translations" to investigate content of template. 



Share this post

Link to post
Share on other sites

I have a similar issue with a installation.

It sends the normal mails but not the mail with the downloadable file. Another issue is that it asks you to select a carrier instead of saying that no carrier is needed when there are only virtual products.

It had a look in the source code:

There is a javascript variable isVirtualCart that is set to 0 where it should be 1.

This variable is set in OrderOPCController.php with:

if ($this->nbProducts) { 
$this->context->smarty->assign('virtual_cart', $this->context->cart->isVirtualCart());

And this is where it gets strange: $this->nbProducts is true so the assignment runs. However, if you put debug code in the isVirtualCart() function in the Cart class you see that it is never called. Somehow this function is masked and returns an empty string.

Still stranger is that the version I have running on my localhost is working ok. But the copy of it on the server of the customer gives the problem. 

It becomes yet stranger when you have a look at the content of the Cart object near this operation in OrderOPCController.php. Normally Cart->_products is an array of the products in the products in the cart. However, on the localhost (so when it is behaving correctly) this array is empty when the cart contains only a virtual product.

Edited by musicmaster (see edit history)

Share this post

Link to post
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

  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More