Contact Form 7 Not Sending Email
Your Contact Form 7 form either shows a red "error trying to send your message" box, or it says the message was sent and nothing ever reaches your inbox. Both usually come down to how the email is addressed and how WordPress sends it.
Common signs of this issue
- Visitors see "There was an error trying to send your message. Please try again later." after pressing Send.
- The form says "Thank you for your message. It has been sent." but the email never shows up, not even in spam.
- Some messages arrive and others vanish, with no obvious pattern.
- Messages arrive in your spam or junk folder, or only reach one of several addresses you listed.
- It stopped working after a move to new hosting, a change of email provider, or a change to your domain's DNS.
- The form editor shows a warning such as "Sender email address does not belong to the site domain."
Safe checks you can do yourself
None of these require sharing passwords with anyone.
- Separate the two failures. A red error box means WordPress could not hand the email to a mail server at all. A green "has been sent" message means WordPress handed it over and it was lost or filtered somewhere after that. Write down which one you see — it changes where the fix lives.
- In your WordPress dashboard go to Contact > Contact Forms, open the form, and click the Mail tab. Check that the To field contains the address you actually read, spelled correctly. Typos here are more common than anyone admits.
- Look at the From field on the same tab. It should be an address at your own domain (for example
[email protected]), not the visitor's address and not a Gmail or Yahoo address. Put the visitor's address in Additional Headers asReply-To: [your-email]instead, so you can still hit reply. - Scroll to the top of the form editor and read any yellow configuration warnings. Contact Form 7 checks your settings and flags problems like a From address that does not match your domain. Each warning is a likely cause.
- Search your spam folder, and if you use Microsoft 365 or Google Workspace, ask whoever manages it to check the quarantine or admin message log for messages from your site. Filtered mail often never reaches the spam folder at all.
- Send yourself a test from the form using a different recipient address — a personal Gmail, for instance. If that one arrives and your business inbox does not, the problem is on the receiving side, not the form.
- Check whether an SMTP plugin is installed under Plugins. Contact Form 7 does not send mail itself; it uses WordPress's built-in mail function, which many hosts restrict or which receiving servers distrust. A properly configured SMTP plugin is the standard fix.
- If you want a record of every submission while you sort this out, the free Flamingo plugin from the same author saves Contact Form 7 messages inside WordPress, so no lead is lost even if the email fails.
What this usually means
Contact Form 7 is only the messenger. When someone presses Send, it builds an email and passes it to WordPress, which passes it to whatever mail system your hosting provides. If your host blocks or limits that system, you get the red error. If the host sends it but the email looks suspicious, the receiving inbox quietly drops it and you get the green success message with nothing behind it.
The most common single cause is the From address. When the form claims the email is from the visitor's own Gmail or Outlook address, receiving servers check whether your web server is allowed to send for that domain. It is not, so the message fails SPF and DMARC checks and gets rejected or junked. A From address at your own domain, ideally sent through SMTP with proper SPF and DKIM records, fixes most cases.
When it breaks right after a hosting move or DNS change, the cause is usually that the new server is not listed in your domain's SPF record, or that mail for your domain is now being delivered to the wrong place. In those cases the form is fine and the fix is in your email and DNS settings.
What not to do
- Don't put the visitor's email address in the From field. It is the most common reason Contact Form 7 messages go missing.
- Don't assume the green success message means you received the lead. It only means WordPress passed the email along.
- Don't install three different mail plugins at once hoping one works. They conflict, and you will not be able to tell which setting is in charge.
- Don't paste your email account password into a random plugin or share it with someone offering a quick fix. Use an app password or an API key from your email provider, set up by you or someone you trust.
- Don't delete and rebuild the form before checking the Mail tab. The form fields are rarely the problem.
- Don't leave a broken form live for weeks. Add your phone number or email address beside it until it is fixed, so customers have another way to reach you.
When to get help
If the Mail tab looks right, an SMTP plugin is set up, and messages still vanish, the problem has usually moved into DNS records, mail server reputation, or your email provider's filtering — and that is a reasonable point to hand it to someone who can read mail logs and message headers. It is also worth getting help if you rely on the form for paying work and cannot tell how long it has been failing, because someone can check the server's mail logs and sometimes recover the details of messages you never saw.
Not sure what to do next?
Answer a few short questions and we'll point you to the safest next step — DIY, a freelancer, or a direct review. No passwords required.
Is this a business website? If this issue may be costing you leads, sales, or trust, you may want a direct review instead of trial and error.
Frequently asked questions
Why does Contact Form 7 say my message was sent when I never get it?
The success message only confirms that WordPress handed the email to the server's mail system. After that, the receiving inbox can reject or filter it, usually because of the From address or missing SPF and DKIM records. You never see that failure on the website.
What does "There was an error trying to send your message" mean?
It means WordPress could not send the email at all. The host may have disabled or limited PHP mail, or an SMTP plugin is configured with wrong details. Setting up or correcting SMTP is the usual fix.
What should the From address be in Contact Form 7?
An address at your own website's domain, such as wordpress@ or forms@ your domain. Put the visitor's address in Reply-To in the Additional Headers box so replies still go to them.
Do I need an SMTP plugin for Contact Form 7?
On most hosting, yes. SMTP sends the form's email through a real, authenticated mail service instead of the web server's basic mail function, which makes delivery far more reliable.
Can I see Contact Form 7 messages that never arrived by email?
Not on its own. Contact Form 7 does not store submissions. If you install the Flamingo plugin, future submissions are saved in WordPress, but messages sent before that are generally not recoverable from the form.
Why did Contact Form 7 stop working after I moved hosts?
The new server sends mail from a different place, and your domain's SPF record may not list it, or the new host restricts mail sending. The form settings moved with your site, but your email reputation and permissions did not.