Not receiving WordPress emails?

Are you having problems receiving email from your WordPress site? For example, contact form submissions, or notifications from your eCommerce plugin? This is very common. The following article explains why this happens, why it particularly effects iiNet customers, and how you can fix it. If you’re not receiving WordPress emails, read on.

First, a quick check:

  1. Ensure you are testing it with a legit email address and check your SPAM folder.
  2. Confirm that MX Entries are set correctly in your cPanel.  In particular, if your email is handled elsewhere from your web hosting then make sure to set “Remote Mail Exchanger” to avoid WordPress mail getting trapped in the boxtrapper. More info here.

Ok, checked that, but it’s still happening… please explain?

Sure! Let me explain. WordPress sends email using PHPs mail() function, which means that emails from your website appear (to other mail servers) to come from a computer, not a person. Thus, they are often marked as SPAM, or rejected entirely by the recipient mail server. Iinet has a very enthusiastic mail server in this regard – if you (or your customers) are with iiNet and not receiving email from your WordPress site this is a very likely suspect.  Fortunately this problem can be resolved by configuring WordPress to send systems generated emails over SMTP instead of mail()

Configure WordPress to send emails over SMTP instead of mail()

  1.  WordPress uses the default address [email protected] to send out email. We’ve found it’s helpful if this address actually exists for real on the web server. Log into your hosting control panel and create the email address [email protected]  You need to do this even if your email is actually being handled elsewhere (eg through Google apps (gmail), Office 365, iiNet etc). The reasoning is complex… but in a nutshell, recipient mail servers need to see that the email comes from a genuine address – one that truly exists on the web host server.  If you prefer not to use wordpress@ then you can create any other email address you want.
  2. Log into your WordPress dash and install and activate WP Mail SMTP plugin
  3. In the WP Mail SMTP plugin, set the ‘from’ address as the email address you just created in cPanel. Also tell it to send over SMTP. The rest of the settings will depend on your mail server setup so configure them as per your hosts instructions. A good place to look for the correct details will be via your web hosting cPanel > Email Accounts > Set up Mail Client. If in doubt, try on default, and if that doesn’t work check in with your web host because this is important to get right!
  4. Send a test mail to yourself to check the config
  5. Your customers should now be able to receive WordPress generated emails no matter their email address, even an iiNet one 😉

Still having issues? Here’s plan B

If for some reason you continue to have issues not receiving WordPress emails, then you may need to resort to an SMTP delivery service such as SMTP2GO.
This can be particularly useful for handling systems generated email (stuff sent out by a billing system, for example). If you go with this plan B, then the only extra step is to make sure your WP Mail SMTP plugin settings reflect the SMTP details provided by SMTP2GO.

Hopefully this article has helped you troubleshoot your WordPress email problem! Any questions, suggestions or issues feel free to leave a comment. 🙂

10 thoughts on “Not receiving WordPress emails?

  1. James says:

    Maeve, You are a legend! Thank you for this, you solved a lot of stress for me today

    1. Brian says:

      Perfect!fixed WooCommerce & Gravity online donations notifications issue in <5min

  2. Graham says:

    Fantastic. Wow – I wish I had known this before I tried like 4 other routes and plugins that didn’t work. It all depended on having the right send email. Damn, thank you, thank you, thank you!!
    -Graham
    AlluringMedia.net

    1. Maeve says:

      Glad to help Graham! 🙂

  3. Hank Castello says:

    There’s a rather new issue that can cause a small (for now) percentage of your contact form message to mysteriously “disappear”. It’s the Y2K issue of our time.

    A Google chart shows that there’s been a sudden, sharp increase in the use of the new IPV6 IP address system.

    Many, many plugins have data tables set to a maximum limit of 15 characters for IP address (IPV4). WordPress will silently toss the entire record if just one field (column) has data longer than the maximum length specified in the database table.

    No notice. No error (not even in the log). I have more information in my blog here.

    This is not some minor, obscure issue – this is widespread and it’s costing your clients money – today, yesterday and even more money tomorrow!

  4. Marl says:

    Hi,

    Greetings.

    I have this similar problem but this is where the user registered but unable to received a confirmation email. Would you give me an advise what is the cause of the problem?

    Your help will be very much appreciated.

    Best,

    1. Maeve says:

      Was it just one user? Or does it happen to everyone on Registration? If the former, then ask them to check their spam folder. If the later, then follow the steps in this article to troubleshoot and fix the issue on your site.

  5. Andrew says:

    Having trouble doing this step:

    “WordPress uses the default address [email protected] to send out email. We’ve found it’s helpful if this address actually exists for real on the web server. Log into your hosting control panel and create the email address [email protected] You need to do this even if your email is actually being handled elsewhere (eg through Google apps (gmail), Office 365, iiNet etc). The reasoning is complex… but in a nutshell, recipient mail servers need to see that the email comes from a genuine address – one that truly exists on the web host server. If you prefer not to use wordpress@ then you can create any other email address you want.”

    I cant find anywhere on the control panel to “create the email address” so If you could tell me how to do this that would be much appreciated.

  6. Diana says:

    There are plenty of SMTP services out there. I used http://www.smtpboxes.com with WP Mail plugin. If the hosting is blocking port 25 (as in my case) I connected on 8025 flawlessly 🙂

  7. Lindsey John says:

    Great post! Your troubleshooting tips for WordPress email issues are on point. I would also recommend considering the Postman SMTP plugin as a reliable solution. It’s an effective tool for ensuring email delivery. Keep up the good work!

Leave a Reply to Brian Cancel reply

Your email address will not be published. Required fields are marked *