Skip to content

Contact Form 7 not sending email

Contact Form 7 does not store submissions by default. If the mail step fails, there is no record anywhere — the enquiry simply never existed as far as your site is concerned.

Check your site now

See whether a visitor can actually complete your form today.

Free · No signup · We never submit your form

Why this happens

01

The From field uses the visitor's address

The default template often sets From to the submitter's email. Sending mail that claims to originate from a domain you do not control is exactly what SPF and DMARC exist to stop, so receiving servers reject it. Set From to an address on your own domain and put the visitor's address in Reply-To instead.

02

No SMTP configured

Contact Form 7 uses wp_mail(). Without an SMTP plugin that means PHP mail(), which many hosts block or leave unconfigured.

03

The second Mail (2) template is silently failing

The optional autoresponder has its own From, To and template. It can fail independently of the main notification, so the visitor gets no acknowledgement even when you receive the enquiry.

04

reCAPTCHA v3 scoring genuine visitors as bots

Contact Form 7's v3 integration has no checkbox. Below the score threshold the submission is rejected with no visible explanation, which disproportionately affects mobile visitors and anyone using a VPN.

05

Required-field mismatch after an edit

Renaming a field in the form template without updating the mail template produces an empty or malformed message that mail servers may drop.

How to check it yourself

  1. 01Open the Mail tab and set From to an address on your own domain, with Reply-To for the visitor.
  2. 02Check the Mail (2) tab separately — it fails on its own.
  3. 03Install WP Mail SMTP and send its test message.
  4. 04Temporarily remove the reCAPTCHA tag and resubmit from a phone on mobile data.
  5. 05Add a database entry plugin so you can tell 'form failed' apart from 'email failed'.

The part you cannot check once

Fixing it is the easy half. Knowing it stays fixed is the hard half.

Every cause above can come back without anyone touching the page. API keys rotate, plugins update, DNS records get edited, licences lapse. The form still renders, still accepts the enquiry, still says thank you — and nothing arrives.

FormWatcher submits an identifiable test enquiry on a schedule and confirms it actually reaches your inbox. If delivery stops, you hear about it — rather than working it out from a quiet month.

FormWatcher recognises Contact Form 7 automatically

Common questions

Contact Form 7 shows the green success message. Where is the email?
The green message confirms the submission was accepted, not that mail was delivered. With no entry storage there is no other record, which is why Contact Form 7 failures often go unnoticed for weeks.
Should From be the visitor's email address?
No. That is the most common cause of Contact Form 7 delivery failure. Use an address on your own domain and put the visitor's in Reply-To — replying still works exactly as you expect.
Can I be alerted when this breaks?
Yes. FormWatcher walks the journey to your form, submits an identifiable test enquiry, and confirms it arrives. If delivery stops, you hear about it rather than discovering it in a quiet month.

Related problems

All form delivery problems →