We were getting reports that customers were not receiving email for resetting passwords, order confirmations and account creations.
We had a test account to verify the email sending problem. The test account would never receive any email correspondence.
The Magento logs didn’t record any issues accept where the customer entered the wrong email address.
We contacted the host and they could figure out what was causing the Magento email problem.
So we did an email trace in the cPanel account to see how the email was being handled. We also checked the servers email sending reports to double check how things were being handled (in WHM it’s called Mail Deliver Reports)
Turns out that the test email account was associated with one of the domains on the server. However, the email was being handled by Google Gmail apps for business. What was going on was every time an email would be sent to the test account it would not be released to the World Wide Web but direct to one of the users on the server who had ownership of the domain associated with the test email account. The server was using 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 (this maybe a default feature of cPanel). 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 was actually very simple. It was a simple edit of the local MX record within the domain to the Google Gmail apps domain name (in cPanel it is located under Mail > MX Entry). Once that was set all email on the test account was being received in Gmail just fine.
The moral of the story is to make sure the server Magento is installed on has correctly configured email for your needs. This way you can troubleshoot the other reasons customers are not receiving email. 98% of the time the customer has entered their email address with a typo.