There is a big issue with OpenCart. The script might not send emails to anyone, for example when a user requests a password reset, when he makes an order, he won’t receive a confirmation e-mail and neither the owner of the store.
The problem appears if from the Admin Panel > System > Settings, “edit the store”, at “e-mail”, you have an e-mail that is not using the domain name.
For example, if you have set there an e-mail from Gmail or Yahoo, it will not work. Because of this, the website is not sending any e-mail. It’s a security aspect.
After you set that, you need to go to the “Mail” tab (also from Settings) and do some tweaks.
At “Mail Protocol:”, pick “SMTP”.
“Mail Parameters:” leave it blank.
“SMTP Host:” should be something like this: mail.yourdomain.com.
“SMTP Username:” should be something like this: email@example.com (in our case, it can be “firstname.lastname@example.org”).
“SMTP Password:” type the password corespondent to “email@example.com”.
“SMTP Port:” leave it as default to 25.
“SMTP Timeout:” leave it as default to 5.
That is all, do some tests, you should notice that the website is sending e-mails now.
You don’t have to change any code from the OpenCart script or install a special module for sending e-mails.