How to troubleshoot email sending problem in Magento?
To check if the email was sent, a good place to start is to check the order, specifically the information are to see if the email was sent or not. If the order displays the email as sent and you or your clients are not receiving the email, then the problem is most likely the local email server that Magento is using or the email settings you have for Magento. If it says it is not sent, then look through settings first to see if there is a setting that you have not turned on. If you use Magento, then you depend on email functionality of Magento to send order confirmations, shipping confirmations and invoices to your clients. Apart from technical people, many Magento users do not know how Magento sends email. Knowing how Magento sends email may not be just enough to run your online store, it becomes extremely important in troubleshooting email issues related to Magento. Here is how to troubleshoot email sending problem in Magento.
➢ Check Admin > Configuration > Advanced > System > SMTP Settings and see that the emails are not disabled.
➢ Check Admin -> Configuration > General > Store Email Addresses and check if the email address there is correct. Sometimes email servers would refuse to send email if the senders email is not a proper email address.
➢ Check whether Magento is using any extension to send the emails? In this case run the php script within your root Magento directory to see if you are able to connect to smtp.gmail.com on port 587.The port number can be easily changed to test access to other ports. If you still get an error, contact your hosting company to remove the block.
➢ Check System => Configuration => Sales Emails => Shipment Comments to see if the email sending is enabled for shipments in Magento admin
➢ Magento will try to use local SMTP/PHP mail to send the emails. If you don’t have that working on the system or server where the website is working, then you have to report this to the system administrators and locate the problem. It might be that the way, in which the emails are structured inside Magento, they will get refused by the server and not sent.
➢ Check the server to see whether it is supporting the email sending or not, if Magento is not using any extension to send the emails.
➢ If all that checks out, you could try going over the error and exception logs for mail or warnings or order related errors. The logs should give you a clue as to what is going on.
➢ Another good log to check is your server’s mail log. This w show you if an email were sent out from the server. Typically this is found at /var/log/maillog but is dependent on your OS and mail software.
➢ Sometimes, when an email would be sent to the test account it would not be released to the World Wide Web but is directed to one of the users on the server who had ownership of the domain associated with the test email account. In this case the server uses cPanel and when the domain of the test email account was created on the server had also created a local MX record to handle email .The MX record told the email server to send it to the server’s local user regardless of the email address it was suppose to send to. Fixing this local redirect is very simple. It is a simple edit of the local MX record within the domain to the Google Gmail apps domain name.
It is required to make sure that the server Magento is installed and has correctly configured email for your needs. This way you can troubleshoot other reasons for which the customers are not receiving email.