← Back to Blog

Contact Form 7 Not Sending Emails? Here's How To Fix It

Last updated: January 18, 2026 3 min read

Contact Form 7 (CF7) is the most popular form plugin for WordPress, but that also means there's a lot of users frustrated because it has stopped sending emails without warning. If you are reading this, you are likely frustrated because your website looks fine, but your inbox is empty.

The problem is rarely the plugin itself. Usually, the issue lies in how your web server handles mail. Here is the definitive guide to diagnosing and fixing the dreaded "silent failure" of Contact Form 7.

Step 1: Check the "From" Address (The #1 Mistake)

Before you do anything else, make sure CF7's mail settings are correctly configured. Go to your form, and to the Settings -> Mail tab. Ensure the "From" field uses an email address that matches your domain, for example: owner@yourbusiness.com. You may even use dynamic tags such as [your-name] in these fields, so your emails look more professional: [your-name] <owner@yourbusiness.com>

An additional tip:

Sometimes, people send mail from one email address, but would rather receive replies to another. If you're worried that changing the "From" field will send any replies to the wrong inbox, here's how you can fix it easily:

In the 'Additional Headers' field of CF7, add: Reply-To: [your-email]. This allows you to play nice with Contact Form 7 by sending email from your own website's domain, but receive replies to any mailbox you want, for example: user@gmail.com or user@yahoo.com.

Step 2: Stop Using the Web Server to Send Mail

Most WordPress hosts use a basic "PHP Mail" function. Because spammers use this same function, many email providers (Outlook, Gmail, Yahoo) automatically reject mail sent this way. It is unreliable and lacks the "credentials" needed to pass through modern spam filters.

The Fix: Use an SMTP plugin (like WP Mail SMTP) in combination with a reliable SMTP provider. This forces your website to log in to a real, reputed mail server to send the message. This single change fixes 90% of delivery issues.

Reliable SMTP Providers:

Choosing a reliable SMTP provider can be make or break for your emails, so it pays to go with the best option. If you use the WP Mail SMTP plugin, they have a list of recommended providers that work out-of-the-box. Alternatively, consider these:

  • SendGrid (older and more established)
  • Postmark (newer and more developer-focused)
  • Brevo (offers the most generous free-tier of the three)

Step 3: Verify your SPF and DKIM Records

Even with having set up your form's settings correctly and choosing the right SMTP provider, these DNS records need to be configured correctly if you want reliable email delivery. Think of these as the "ID Cards" for your domain. If your website sends an email, the receiving server checks your DNS records to see if the sender is authorized. If these records are missing or incorrect, leads that should ideally land in your own inbox will be sent straight to the spam folder - or never reach you at all.

These can be a bit technical to set up, and will most probably also be a requirement for signing up with and using an SMTP provider service. If you aren't sure how to edit DNS records for your domain, try speaking to your hosting provider and they should be able to help you out.

  • SPF: Tells the world which IP addresses are allowed to send mail for you.
  • DKIM: Adds a digital signature to your emails to prove they weren't tampered with.

Identifying the Error Type

If you've got the above bases covered, your troubleshooting might need some extra steps. The first of which is to identify the error type so you know why the form is failing. Contact Form 7 makes use of 3 different colors for information messages on the frontend that can clue you in to where the error is originating from:

  • Red Border: This usually means the mail failed to send entirely (server-side issue). If you've correctly set up the form's settings, and you're using an SMTP plugin + provider: you need to re-check the SMTP plugin's settings to make sure it can send email.
  • Orange Border: This usually indicates a validation error or a spam-block (invalid form fields or reCAPTCHA issue). Easy fix: just make sure your form's fields aren't enforcing extra validation that's breaking the forms without you or your users realizing.
  • Green Border: This means the plugin thinks it sent the mail, but it never made it to your inbox (the 'Silent Failure'). Tricky to fix: if your SMTP plugin can send a test email, and your form isn't showing an error, but your mail still isn't coming in - you might want to re-check your SPF & DKIM records, or speak with a professional to help debug the problem.

The Flaw in the "Fix": Why Troubleshooting Isn't Enough

You can follow every step above and get your forms working perfectly today. However, WordPress is a moving target. A theme update, a plugin conflict, or a change in your host's security policy can break your mail delivery again tomorrow - and you won't know it happened until you realize you haven't had a lead in a week.

Fixing the problem today is about Delivery. But ensuring it stays fixed is about Monitoring.

How to "Insure" Your Leads Against Future Failures

This is why we built FormWatch. While SMTP plugins help you send mail, FormWatch monitors the results. By adding a unique BCC address to your Contact Form 7 settings, FormWatch listens for the "heartbeat" of your incoming leads. If that heartbeat stops - whether due to an SMTP error, a plugin crash, or a server timeout - we alert you immediately.

Is your lead flow protected? Don't wait for a customer to tell you your website is broken. Set up a free monitor for your Contact Form 7 today.

Never Miss a Lead Again.

FormWatch monitors your web forms 24/7 and alerts you the moment emails stop arriving. Works on any platform - no code required.

Start Monitoring Free → See How It Works

Free monitoring for 1 form • 2-minute setup • No credit card