Page 1 of 1

OpenCart 3 not sending emails at checkout or registration, other emails work fine

Posted: Mon Feb 26, 2018 4:58 pm
by j0hny
Hi,

I have recently upgraded to 3 on one of my customers opencart installations. Everything works fine and I was able to make everything work as the customer is used to, but there is one issue that I'm struggling to solve and the customer is pushing me hard for it (understandably)

The issue is - opencart does not send emails after order checkout or account registration. I don't mean that the server is failing to send the mail (I'm running my own email server and there is no trace of any email being sent in the logs), but that the opencart installation doesn't even get to the code where mail is supposed to be sent. If I use the newsletter form in administration, all the emails are sent and delivered fine without any issues. All other applications on the same server using same PHP and sendmail are working without problems, as was the 2.3 OC installation with exactly same settings.

I tried adding debug code to catalog/controller/mail/order.php, but when completing an order, it doesn't trigger anywhere in this file (meaning that the process probably silently errored or is blocked by some condition earlier). But so far I haven't been able to pinpoint the exact place where the mail controller is called.

I don't know what other useful info I could give - the mail system is set to "Mail", I have tried filling the parameters field with "-f myemail@domaim.com", but as I said, the email doesn't seem to ever leave PHP since there is no trace of any attempt in any log.

Can someone help me with this issue?

Thanks in advance, Johny

Re: OpenCart 3 not sending emails at checkout or registration, other emails work fine

Posted: Tue Feb 27, 2018 6:17 am
by straightlight
Ensure your admin - > extensions - > events page has more than 30 results. Your admin - > systems - > settings - > edit settings - > mail tab - > bottom also needs to be configured.

Re: OpenCart 3 not sending emails at checkout or registration, other emails work fine

Posted: Tue Feb 27, 2018 8:55 am
by procheck
If the previous post did not help and you are using WHM. Look in WHM: Home »Email »Mail Delivery Reports to see if it shows there. I've had issues with this in Opencart 2 and that at least proves whether Opencart is sending the confirmations or it's a server issue.

Re: OpenCart 3 not sending emails at checkout or registration, other emails work fine

Posted: Wed Feb 28, 2018 4:48 pm
by j0hny
Thanks both of you for help,

first to reply to procheck - no I'm not using any admin panel, the server is my custom Debian based machine and I manage it myself.

to straightlight - my mail tab is configured correctly, with all the notification checkboxes checked and additional email address also provided (needs to be). Only thing not configured on that tab is the SMTP settings, since I want to use the Mail method.

The events page is another thing though and might be the source of the problem. I've got 1 single item in that table (voucher). Could you please elaborate a bit more on what that means? I will meanwhile try to find some docs on events myself.

Thanks a lot!

Re: OpenCart 3 not sending emails at checkout or registration, other emails work fine

Posted: Wed Feb 28, 2018 6:22 pm
by straightlight
The events page is another thing though and might be the source of the problem. I've got 1 single item in that table (voucher). Could you please elaborate a bit more on what that means? I will meanwhile try to find some docs on events myself.
Issue spotted In your PHPMyAdmin - > Opencart database, truncate your oc_event table. Then, from Opencart ZIP file downloaded from opencart.com - > install/opencart.sql file, see the oc_event query where it starts with: insert into `oc_event` and take that entire block. In your PHPMyAdmin - > Opencart database - > SQL tab, execute the query and ensure to replace oc_ prefixes if using another database table prefix name before launching the queries.

Re: OpenCart 3 not sending emails at checkout or registration, other emails work fine

Posted: Fri Mar 02, 2018 9:28 pm
by Palmei
I have a similar issue. Just upgraded to Opencart 3.0.2.0. with Ajax Quick Checkout FREE 6.6.1. Contact email is sending mail; online order is working fine.Admin/ Sales/Order is showing all orders complete. But NO ORDER CONFIRMATION EMAIL SENT to the customer nor to the emails on the alert list. I have checked all the Alert Mails and added two additional Alert Mails for checking.

Mail Engine: SMTP.
Mail Parameters: Leave blank.
SMTP Hostname: tls://smtp.gmail.com
SMTP Username: store@amanaliterature.in //This is the same email used for store email
SMTP Password: ***********
SMTP Port: 587 //Also tried 465 with ssl://smtp.gmail.com, also tried 25
SMTP Timeout: 10

Any help will be very much appreciated.
Thanks,

Re: OpenCart 3 not sending emails at checkout or registration, other emails work fine

Posted: Mon Oct 15, 2018 5:55 pm
by kromatika
Hello. Have you solved the problem? Also my send to the administrator the news of new order but does not send the confirmation e-mails or the order to the customer

Re: OpenCart 3 not sending emails at checkout or registration, other emails work fine

Posted: Mon Oct 29, 2018 4:16 pm
by vigneshl2925
Hi,

When you upgrade opencart from opencart 2 to opencart 3, the table event contains ro records. But then you see the fresh opencart 3 database, event table has 33 records. Just drop event table from latest migrated db and import event table from fresh opencart 3 db to upgraded opencart db. Now it will work.

Also make sure you have configure mail option for register in admin side.

Settings->edit store->mail tab.

Re: OpenCart 3 not sending emails at checkout or registration, other emails work fine

Posted: Mon Feb 18, 2019 8:26 pm
by pauliakas
Worked for me.
Thanks for great tip O0

Re: OpenCart 3 not sending emails at checkout or registration, other emails work fine

Posted: Tue Mar 12, 2019 9:00 am
by davidcropley
straightlight wrote:
Wed Feb 28, 2018 6:22 pm
The events page is another thing though and might be the source of the problem. I've got 1 single item in that table (voucher). Could you please elaborate a bit more on what that means? I will meanwhile try to find some docs on events myself.
Issue spotted In your PHPMyAdmin - > Opencart database, truncate your oc_event table. Then, from Opencart ZIP file downloaded from opencart.com - > install/opencart.sql file, see the oc_event query where it starts with: insert into `oc_event` and take that entire block. In your PHPMyAdmin - > Opencart database - > SQL tab, execute the query and ensure to replace oc_ prefixes if using another database table prefix name before launching the queries.
I found that running this query gave me an error saying that default values were not defined which I thought was odd as I can see them in the sql file. Fortunately, I had a copy of the database after a fresh OC3 install so I exported the oc_event table, imported it into my existing database and then merged it with the event table (yes I'm from the days of having no prefix!). Initially I had a primary key error because of the existing events (which I wanted to keep) so I just edited the primary keys in the oc_event table to have higher values (I started from 31 upwards, and then appended oc_event to event using the SQL command:

Code: Select all

INSERT INTO event SELECT * FROM oc_event;
Problems have since gone and I can send mail using the default Mail setting in settings/mail and order updates initially appear to be working.

Many thanks must go to Straighlight for pointing me in the right direction though!!
::)

Re: OpenCart 3 not sending emails at checkout or registration, other emails work fine

Posted: Sat May 18, 2019 9:46 pm
by cserra0311
What I did was, I created a new database, uploaded the sql file. Then I went to PHPadmin and copy the data from one table to the other. and now my events page is populated.

Re: OpenCart 3 not sending emails at checkout or registration, other emails work fine

Posted: Sun May 19, 2019 2:58 am
by straightlight
The issue at the time with that OC version was the sort order value as compared to the sort order field was not declared which were causing errors during insertions. This has been rectified on GitHub.