This is an issue I’ve come across several times.  Your website, call it http://mysite.com is hosted by a web host, but your email, with email addresses like me@mysite.com is elsewhere, perhaps with Google Apps. Your website sends out emails – this might be for new user registrations, notification of new comments, or any number of other things.  And most emails are fine, except those that are being sent to your own domain.  That is, an email sent by the website on domain mysite.com to an email address @mysite.com doesn’t arrive. What’s going on? Well, there could be a whole load of reasons why the mail doesn’t arrive. You may, for starters, want to check if it got filtered as spam!  But here’s a reason you may not have thought of: the web host treats all email sent to your domain as being handled locally, and tries to process it without sending it to the correct mail server!

I’ve seen this a lot with hosts that use the “cPanel” control panel, though I’m told it applies to some other web hosting control panel systems too.  The trick is to tell the web server to use a remote mail exchanger for that domain, and tell it which one. Here’s how to do it (hat-tip to Chris Jones of Cultivate Consulting for reminding me how to do this). Here’s cPanel version 11’s mail setting – you’ll see the MX Entry option that I’ve highlighted. You’ll need to click this. cPanel's Mail Settings with Mx Entry setting highlighted Then you’ll need to select the “Remote Mail Exchanger” option as highlighted below.

cPanel showing remote MX optionThen at the bottom of that page you’ll need to add the MX records for your mail server. If this is Google Apps then the MX records are listed on this page.

With all those settings saved you should be receiving emails from your website as expected.

If you’ve done this and still have problems then I suggest contacting your web host – they may be able to help.