Skip to content
Guides

Contact Form 7 not sending email: a checklist

Work through these in order. The message the form shows after you press Send tells you where to start.

5 minute read · Updated 30 September 2026

Read the message first

Submit the form yourself and look at the message under it.

  1. "Thank you for your message. It has been sent." in green: Contact Form 7 handed the email to your server. It was lost after that, usually to a spam filter. Start at "Check the Mail tab".
  2. "There was an error trying to send your message." in red: the server refused to send it. Start at "Send through SMTP".
  3. An orange message: the submission was treated as spam, by reCAPTCHA, Akismet or a disallowed word. Start at "Check the spam filters".

Check the Mail tab

Open the form and go to its Mail tab. Contact Form 7 warns you here when something is set in a way that mail servers dislike, so read any warning it shows.

  1. To: the address you expect, spelled correctly, and still a working mailbox.
  2. From: an address on your website's own domain, such as [email protected]. Not the visitor's address, and not a Gmail address.
  3. Additional headers: "Reply-To: [your-email]", so your reply goes to the visitor.

Send through SMTP

Many hosts limit or block the way WordPress sends email by default. An SMTP plugin, such as WP Mail SMTP or FluentSMTP, sends it through a real mail service instead. Most have a test button: use it, and fix what it reports before going back to the form.

Then add the SPF and DKIM records that service gives you to your domain's DNS. Without them, email from your site can still be marked as spam.

Check the spam filters

If real enquiries get the orange message, a filter is too strict. With reCAPTCHA, check the keys match the domain. With Akismet, look at what it caught. Under Settings → Discussion, check the Disallowed Comment Keys list, which Contact Form 7 also uses.

Keep a copy, and get told another way

Contact Form 7 doesn't store messages. Install Flamingo, by the same author, and every submission is saved in WordPress whatever happens to the email.

Then stop depending on the email. Formcrier sends each Contact Form 7 submission to your phone on WhatsApp, a text, Telegram, Slack or Teams within seconds. Contact Form 7 tells it when the email failed to send, and you get the alert anyway.

It's free for 10 alerts a month. Install the Formcrier plugin, paste a key and switch on your forms.

Get every enquiry on your phone

Formcrier sends your website's form submissions to WhatsApp, a text, Telegram, Slack or Teams within seconds. Free for 10 alerts a month, with no card.