Not Receiving Customer Emails from a WordPress Site?

In our Webmaster management of clients' WordPress sites, every so often we get the support call "we are not getting emails from the site".

We usually use the WordPress Contact Form 7 plugin because it is well-supported, easy for everybody in the office to use, and has sufficient options for things like custom success messages (or message-sent success pages) and analytics tracking of form submits. This is highly reliable - is the contact form the problem or something in the systems around it...?

When "something" doesn't seem to be working... this page is about what we do to help...

Contact Form 7, with approximately eight gazillion downloads, proclaims false-modestly to be "Just another contact form plugin"

Contact Form 7, with approximately eight gazillion downloads, proclaims false-modestly to be "Just another contact form plugin"

Below are our troubleshooting steps, which apply really to any normal WP contact form setup - please send in your suggestions if you would like to improve the notes 🙂

Step 0 - Maybe there are emails but you are not getting them

Step 0 because, before we begin... maybe the problem is more simple than the sending process from the website itself!

Assuming we have not already seen any obvious problem in the WordPress contact form - perhaps emails ARE successfully being sent and ARE successfully being received by your email inbox... it's just that you are not receiving those emails.

Here are the common possibilities:

  • The emails are coming in but they're in your spam folder: check your spam folder 😀
  • The emails are going to an inbox but your mail client is not receiving them
    - check your mail client is collecting (POP or IMAP) all emails successfully
    - try to view the inbox in a different way, e.g. webmail
  • Check you have not got filters in your email which are diverting the mail to a non-inbox folder, or deleting it (search your email, check your filters)
  • Maybe your email provider is silently refusing email instead of just putting it in junk or spam (easiest to diagnose via changing the email destination of your contact form to a different provider inbox and seeing if that works, and if so, going back to locate where that silent junk filtering is occurring)

Step 1 - Test the contact form

Go through the contact form on the site yourself, putting in obvious test data, and then search in the destination email inbox to see if it is has arrived.

Contact form broken?
Obviously actual tests of the contact form will help you see if something fails in the submit process itself, for example:
- page does not load properly
- contact form cannot be submitted because of some validation error
- contact form spits out an error message on submit
- contact form seems to submit but times out or 'does nothing for a long time'
- anti-spam captcha not working
If any of the above it is, in a sense, good - because you have an evident and repeatable problem you can call on your Webmaster to fix.

If the contact form is apparently working... let's go and look for that email.

Where is the email from the form supposed to go to? You can double check that in the wp-admin settings for each contact form, which is located at /wp-admin/admin.php?page=wpcf7

Note that if you are not sure where the problem is - maybe with the final staff recipient - you can add additional recipients for every message in the Headers section. See Adding CC and bcc contact form 7

Step 2 - Try Contact Form DB

Contact Form DB saves a copy of every contact form message, viewable in your WordPress admin area

Contact Form DB saves a copy of every contact form message, viewable in your WordPress admin area

Contact Form DB is a good plug-and-play WordPress plugin that intercepts messages people put through Contact Form 7 contact forms, and saves them to your WordPress database, with an interface in wp-admin where you can view the messages in a table, per contact form. If a message has been successfully submitted, it will show up here. The contact form still behaves the same way in relaying the message to any email addresses set up.

It's great for troubleshooting your contact forms, because you can confirm if your test messages - and real messages from customers / contacts - are being submitted successfully... isolating the problem to the sending and/or receiving of the emails.

This will also help you rule out the level-0 possibility that you are not receiving emails... because there are no customers/contacts actually sending you any!

Step 3 - Is WordPress able to send emails at all?

This is fairly unlikely (if it worked before, but now not working suddenly) but worth checking. If your contact forms are processing messages but the emails are not being received, maybe WordPress is not able to send out the emails. If this is the case it is probably a general problem, meaning nothing in WordPress can send out emails.

The easiest way to test this is if you already know some other plugin which sends out notification emails, or make a change to your WordPress user with the notify option on.

More formally you can take advantage of a mail-sending check plugin, e.g. the imaginatively named Check Email

"Don't know if your WordPress installation is sending emails? Use this simple plugin to find out. It will send a simple test email to an email address of your choice, and to help troubleshoot any problems you can also override the custom headers with your own values."

"Don't know if your WordPress installation is sending emails? Use this simple plugin to find out. It will send a simple test email to an email address of your choice, and to help troubleshoot any problems you can also override the custom headers with your own values."

Webmaster's Checklist

  • Check the above "normal" issues! While ordinary users should be reminded to check junk mail, test the frontend contact form, before saying "it's broken", conversely the Webmaster should run through the same checks before saying "it's not broken"...
  • Find out from the reporting users whether there are any important details about the issue or just a general "no emails arriving"
  • Test the contact form with various parameters: perhaps the main contact form is misconfigured so test a new one
  • (Test in different browsers if there is suspicion about only certain users having an issue with the contact form)
  • See Google Analytics tracking of the contact form submit event to compare if there are a lot of submit attempts not matching incoming email
  • If contact emails and notifications generally from WordPress are getting spam filtered, consider setting the site up to send mail using a nicer* system such as Mandrill (e.g. see Improve Your WordPress Email Delivery with Mandrill). The WP Mail SMTP plugin gives you lots of other options.
  • As the Webmaster you (a) hopefully already tested that emails were working when setting up the site, and (b) probably know whether you "did something recently" that might have caused emails to stop sending. Have a check into logs and firewall rules that might be relevant.
  • EasyEngine has a good explanation of a command line quick check if your server's PHP is successfully sending mail.

*Nicer email delivery is particularly important if your WordPress site sends mails to users other than internal/staff contacts.

Another good write-up on this general WordPress / email-not-received topic is: How to Fix WordPress Not Sending Email Issue