Troubleshooting

Contact Form 7 is not sending emails

Contact Form 7 stores nothing by default. It builds an email, hands it to WordPress, and forgets it. When something goes wrong there is no record anywhere — so the order you check things in matters.

Start here: is the mail leaving the server at all

CF7 calls wp_mail(). On most shared hosting that becomes PHP mail(), which is unauthenticated and frequently filtered or silently dropped by the receiving provider.

Install any SMTP plugin and send through a real mailbox or a provider like Mailgun. If mail then arrives, deliverability was your problem, and it was never CF7.

Check: Configure SMTP and use its built-in test email. That single test separates "not sending" from "not arriving".

The From address is failing authentication

CF7 templates often default to a From address at your own domain. Sending that from a server your SPF record does not authorise is the classic spoof signature, and providers increasingly reject rather than junk it.

Send from an address you control on the sending infrastructure, and put the visitor address in Reply-To instead.

Check: In the Mail tab, set From to something on your sending domain and move the visitor into Reply-To.

A required tag in the Mail tab does not match the form

If the Mail tab references a tag that no longer exists in the Form tab — renamed, deleted, mistyped — CF7 can fail to assemble the message. The form still submits and the visitor still sees the green confirmation.

Check: Compare every [tag] in the Mail tab against the Form tab. They must match exactly.

Nothing is stored, so nothing can be recovered

This is the structural weakness. Without an additional database plugin, a CF7 enquiry that fails to send is gone permanently. There is no queue, no retry and no log to inspect afterwards.

Any setup where the only copy of a lead is an email in flight will eventually lose one.

A form backend that stores the submission first, then delivers, turns a lost lead into a delayed one. That is the difference between an outage costing you nothing and costing you every enquiry it touched.


Frequently asked

Does Contact Form 7 keep a copy of submissions?
No, not on its own. It assembles an email and hands it to WordPress. Without an extra database plugin, a failed send leaves nothing behind.
Why do I get some enquiries but not others?
That pattern almost always means deliverability. Different recipient providers apply different rules to unauthenticated mail from your server.
Is the green confirmation message proof it sent?
It confirms CF7 accepted the submission, not that any mail server accepted the email.

Want us to check it for you?

We will test every form on your site and tell you exactly what we find. If nothing is wrong, we will say so.

Talk to us