Debugging Magento Email Issues

To check if the order confirmation email was sent, a good place to start is to check the order, specifically the information area (beside the order #) 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 email settings you have for Magento or the local email server that Magento is using.

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.

Check:

  • Admin -> Configuration > Advanced -> System > SMTP Settings and see that you do not have emails disabled.
  • Admin -> Configuration > General > Store Email Addresses and check if you have the email addresses in there correctly. Sometimes email servers would refuse to send email if the senders email is not a proper email address.

Magento will try to use local SMTP/PHP mail to send the emails out. If you don’t have that working on the system/server where your website is on, then you have to discuss this with the system administrators and locate the problem there. It might be that the way emails are structured inside Magento, they get refused by the server and not sent.

If all that checks out, then you could try going over the error and exception logs ({Magento root}/var/logs/). Look for mail or order related errors or warnings. The logs should give you a clue as to what is going on.

Another good log to check is your servers mail log. This will at minimum show you if an email was sent out from the server. Typically this is found at /var/log/maillog but is dependant on your OS and mail software.

If you have not already turned error logging in Magento, I suggest that you have a look at our article Debugging Magento Issues, it should be able to help you with your task.