Contact Form 7 Email Not Sending? Here's How to Fix it

Contact Form 7 Email Not Sending? Here’s How to Fix it

“There was an error trying to send your message. Please try again later.”

Many a time, you encounter this notice after clicking Submit a form via Contact form 7. So, why is this happening, and how to fix it? Follow this step by step guide to find your best-suited solution.

Why your Contact Form 7 forms not sending emails?

Emails, on the way to their inboxes, are often prevented by spam filters. Widely used email providers, such as Gmail, Outlook, Yahoo!, and many more, often hold a configured function that blocks potentially harmful emails. As a result, your contact form cannot deliver emails. No matter how many times you tried, the emails got rejected.

The problem of Contact Form 7 not sending emails is not due to the plugin itself. It is rather occurring from improper mail settings or SMTP configuration. Because of the default PHP mail() function that WordPress uses to send those emails, it’s very common for some WordPress form plugins to experience the blocking issue. This can also influence other sending activities of your websites such as password resets, welcome emails, or WooCommerce order confirmation emails.

Another issue that happens frequently to websites using shared hosting might be in the hosting servers themselves.

Here below are the recommended steps to help you troubleshoot the email deliverability problem.

The best practices when using Contact Form 7

Set up the form plugin properly

In the Form tab

Be sure that your text fields look clean and end in the usual manner.

Contact form 7 comes with multiple form-tag types. It automatically adds syntax to every form-tag you choose. Double-check to make sure they are written accurately and their components go in orderly components: type, name, options, and values.

Avoid being seen as spam

In the Mail tab

If you input a personal email address in the From field, you will be likely to face this error. The issue shows as ‘Sender email address does not belong to the site domain.’

CF7 Mail tab settings

Even if you are not using Contact Form 7, preparing a real wordpress@{your-domain} email address on your host is recommended.

By default, WordPress use wordpress@{your-domain} email address in its notification mails including WooCommerce email notifications, comment notifications and new user notifications. If this email address exists on your host, it will not likely be blocked when sending in and out.

Make sure you have a wordpress@{your-domain} email address and fill it in the From field. You then can see the error of Sender email address does not belong to the site domain. removed.

Contact form 7 showing Sent message but not receiving email

So it comes another situation. You submit the message and see it has been sent, however, you check your inbox and can not find it.

When this happens, you have to find where exactly the issue arises – from your website configuration, or the recipient’s email client?

To help find out the root cause of this issue, you can try adding multiple recipients and/or Cc & Bcc email address.

Contact form 7 Mail settings for multiple recipients

If none of those emails receives messages, then the problem is likely comes from outgoing WordPress mail function. This can be troubleshot by using a WordPress SMTP plugin.

Send emails via SMTP instead of WordPress PHP mail() function

With the help of an SMTP plugin, you can easily integrate your WordPress site with your preferred mailer.

SMTP service providers allow you to send promotional emails in bulk, automatic transactional emails, and other kinds of follow-up notifications. These SMTP servers come in different price ranges, send limit, ease of use, and extendable advanced features.

yaysmtp free wordpress smtpplugin

YaySMTP is by far the easiest plugin to set up. It works equally well as other popular WordPress SMTP plugins. What’s even better is that YaySMTP does not limit the premium features in its free version. I know, that’s WOW! Right?

Upon activation, you will see a new menu in your WordPress dashboard. This YaySMTP is where you do all the settings and configuration without leaving or reloading the page.

So as you can clearly see, you have 3 steps to do to fix the issue of WordPress contact form or automatic emails not sending.

Step 1 – Fill the From Email and From Name

The From email address would be the admin email address of your site. And the From name is the name of your website, your store, or your brand.

Step 2 – Pick your preferred Mailer

You can choose the SMTP server that you like best. If you have not used any of them before, you can read Best SMTP services compared in which we’re curating the best options for you.

Step 3 – Config for each SMTP service provider

Based on the service you selected, it is different from time to time how to configure. Make sure you check out this YaySMTP documentation to figure out what is the most comfortable for your budget and vision.

Received a failure error that says “key not found”

Assuming that you’re using an SMTP plugin such as WP Mail SMTP or FluentSMTP to send WordPress emails from an external email server. Sometimes you will encounter these issues:

  • Failed status after sending test mail
  • ‘Key not found’ notice
  • Sent a test email to a non existing email address and it always says ‘Succesfully’

In this case, I recommend you to use SendGrid to send your emails. SendGrid provides a pretty easy process for Sender authentication and API connection. It offers a free forever plan, so you can start it today without taking any risks.

Learn more: How to connect WordPress to SendGrid in 3 steps

Embed a third party contact form template

If you want to save yourself from all the struggle with self-configuration and troubleshooting things, picking an embeddable well-designed form is not too bad an idea. There are a variety of form builders to help you put up a contact form on your WordPress contact page.


Jotform allows you to visually build forms on the JotForm website, and then publish & embed it to your WordPress site.

This form service provides various ready templates to which you can add more form elements and carry on tweaking them. Or you can choose to build a completely new one. When finished, you can easily copy the shortcode and paste it to your contact page. 

Jotform template

Whenever a form submission is made via your website, you will immediately receive an email notification – just how you got it using Contact Form 7 and an SMTP server. With this option, you don’t have to install and activate a WordPress SMTP plugin. 

JotForm sample email notification

Only that it could look somewhat neat and well-designed than the default notification sample from WordPress mail function.

To sum up

Some WordPress shared hosting providers often limit outgoing emails by blocking certain ports. Even when they are not doing this, their mail servers are widely considered unreliable. That’s why SMTP is the ultimate solution when you find out your Contact form 7 email not sending or see a noticeable delay in email delivery.

We hope this article has helped you see all actions you can choose to take to tackle the issue.

You may also want to see our guide on how to customize WooCommerce order confirmation email.


If you want to have full control over WordPress email delivery, using an SMTP integration plugin is a must. A reliable plugin like YaySMTP can help you enjoy the full benefits of your dedicated mail server plan.

  • SendGrid
  • Gmail
  • Zoho
  • SendinBlue
  • Mailgun
  • Amazon Simple Email Service (SES)
  • Postmark
  • MailJet
  • SparkPost
  • Pepipost
  • SendPulse
  • Microsoft/Outlook/Office 365/Exchange
  • Mandrill

Thuy Nguyen
Thuy Nguyen

Thuy Nguyen is a product growth hacker and professional blogger. When not producing content for marketing's sake, she can most often be found writing content for content's sake, reading Graphic Guides, or enjoying a good laugh with The Big Bang Theory.

Related Posts