Uh Oh! WordPress not sending email from Contact Form

Contact Form

Every website should have a contact form. This is an important way for people to reach you, and often the key lead generator on a website.

We use Gravity Forms on most of the websites we create, as it is reliable, has a lot of add on features, and we have used it for many years. There are many other great form plugins for WordPress. In general, it doesn’t matter as much which form plugin you use as long as it works well and keeps a copy of form submissions on your website/in your database.

Having a copy of form submissions is important because sometimes notifications sent from the website do not work. It is fairly common for users to discover WordPress hasn’t been sending emails as expected. We recently discovered a client had not been receiving notifications of contact form submissions, and we had to quickly take steps to identify the cause and fix this issue.

There are three main reasons why form notifications may not be received in your email inbox:

  1. Your form settings are not set up properly and may be sending to an incorrect email address
  2. Your email client/provider has a filter and/or thinks these emails are spam
  3. WordPress is getting stuck trying to send email from the website in general or specifically to an email address that is the same domain as the website. (In technical terms, your WordPress hosting server is not configured to use PHP mail() function.)

Testing WordPress website forms

Since your contact form is a very important element of your website and your business process, it is a good idea to periodically test it. You can test it yourself to make sure you receive a notification or ask a friend, business associate, or your website developer to test it for you. Schedule this test on your calendar, perhaps the first Monday of every month, to be sure you don’t miss any issues. 

When you don’t receive a notification, check your spam folder. You can also test your form notification with different email accounts to rule out an email filter issue. If you still do not receive an email, you can be sure the issue is WordPress not sending email.

Should you find that your notifications are not sending, the following is the best way to fix this problem and start getting notifications again.

WordPress not sending email: How to fix email notification issues

The best way around any issues with an email from your website is to set up Simple Mail Transfer Protocol (SMTP) on your website. SMTP (Simple Mail Transfer Protocol) is an industry standard way to send emails that use proper authentication method to ensure email deliverability. 

SMTP Plugin

There are a handful of plugins for WordPress that help configure SMTP. The free WPForms SMTP Plugin works well. Instructions on how to use this plugin can be found in their tutorial. You can use this plugin by itself, or for a higher level of assurance that email from your website will work, you can also use SendGrid or MailGun.

3rd Party Email Cloud Sending Services

Send Grid, MailGun and Mandrill (owned by MailChimp) are 3rd party automation email services that were created to send transactional and marketing emails through a cloud-based email delivery platform. You can connect these services to your website using the WPForms SMTP Plugin mentioned above, or the Post SMTP Plugin, which is also free.

Using a service like SendGrid replaces WordPress’s default wp_mail() function by using either an SMTP or API integration to send outgoing email from your WordPress installation. In non-technical terms, these services take over the handling of email so your website doesn’t have to.

SendGrid and MailGun have their own WordPress plugins, however, they have not been updated recently, so we recommend using one of the SMTP plugins we mentioned above. Both SendGrid and MailGun have free account options with a limited number of emails included per day (MailGun is 200, Send Grid is 100 after the first 30 days).

Mandrill is owned by MailChimp and is created for businesses that already use MailChimp for email marketing. A newer version of Mandrill’s WordPress Plugin is available and works like SendGrid and MailGun. 

Configuring your website to work with SMTP is not a simple drag and drop setup. These methods require some domain verification or API key creation. Detailed instructions for using SendGrid and the Post SMTP plugin can be found here, to give you an idea of the steps involved. If you are not comfortable with technical settings, you can hire your web developer or IT person to take care of this for you.

Other Methods

You can also configure an SMTP plugin to use a Gmail oAuth connection or with Gmail SMTP servers. We don’t usually use these, as SendGrid works well and is easier to set up. This article covers these additional methods of configuring SMTP on your WordPress website.

Check your form settings and notifications

While you are reviewing and testing your website forms, it is a good time to also check to make sure the confirmation message or action is correct and up to date (what people see after they hit “Submit”), as well as check other notification email settings and anti-spam features which may be part of your form plugin.

Zapier as a backup

In addition to scheduling regular tests, Gravity Forms users can set up a backup process to catch any missing notifications by integrating Zapier. You can set up a Zap to add new form entries to a Google Sheet, and then notify you when a new entry has been added to that sheet. It is easy to set up with a Gravity Forms Zapier add on.

Keep your website forms in good form!