Short answer: when Contact Form 7 stops sending after an update, the form itself is rarely broken. In most cases the email is not delivered after WordPress hands it off, or another plugin now blocks the submission. Check five things in order: the warnings on the form's Mail tab, the From address, how your site sends mail (PHP mail or SMTP), spam filtering on the receiving side, and any captcha or security plugin that was updated. Install Flamingo first so you keep a copy of every message while you work.
Step 1: keep the leads you are missing right now
Install Flamingo, the free companion plugin from the Contact Form 7 author. It stores every submission in your WordPress admin. It does not fix delivery, but it turns a lost lead into one you can still read and answer. Then send a test message from the live site, not the editor, from an email address that is not the one receiving notifications.
If the message shows up in Flamingo but not in your inbox, the form works and the problem is delivery. If it does not show up in Flamingo either, the submission never reached WordPress, so go to step 5.
Step 2: read the Mail tab warnings
Open Contact, Contact Forms, edit the form and go to the Mail tab. Contact Form 7 checks the mail settings when you save and marks anything it does not like. The most common one after a site move or a settings change is a From address on a different domain than your site.
- Set "From" to an address on your own domain, such as wordpress@yourdomain.com or hello@yourdomain.com.
- Put the visitor's address in "Additional headers" as Reply-To: [your-email], so replies still reach them.
- Check that the "To" field is a real inbox you read, and that every mail tag you use exists in the form.
Step 3: switch from PHP mail to SMTP
By default WordPress sends email through the PHP mail function of your hosting server. Many hosts limit or block it, and receiving servers often distrust it. Forum threads about this problem have the same pattern: an update changed nothing in the form, but mail sent from the server stopped arriving.
- Install an SMTP plugin such as WP Mail SMTP.
- Connect it to the mailbox or service you already use for your domain.
- Send its test email, then send a real test through your form.
- Turn on the plugin's email log if it has one, so the next failure leaves a trace.
If the SMTP test arrives but form mail still does not, look at the log. If the form's email never reaches the log, the problem is before mail: go back to step 2 or on to step 5.
Step 4: check spam filtering and your domain records
Look in the spam folder of the receiving inbox, and in any spam quarantine your mail provider keeps. A message from your own domain that fails authentication is often filtered quietly. Ask whoever manages your domain to confirm SPF, DKIM and DMARC records for the service that sends your mail. Sending from the same address that receives can also be marked as spam by some providers.
Step 5: find the plugin that blocks the form
If submissions do not reach Flamingo, something stops the request before Contact Form 7 can process it. Common suspects after an update:
- A captcha change. Several support threads trace the break to a reCAPTCHA key or version change. Check the keys under Contact, Integration, and that the site domain is allowed in the captcha console.
- A security or firewall plugin that now blocks the form's REST request.
- A caching or optimization plugin that delays or combines the form's scripts.
- A theme update that removed the scripts the form needs.
Open the browser console on the contact page and submit the form. A red error there usually names the script or request that fails. Then deactivate recently updated plugins one at a time, ideally on a staging copy, until the form works again.
How do I stop this from happening after the next update?
Test the form after every plugin, theme and WordPress update, not once a month. Keep Flamingo on, keep the SMTP log on, and send yourself a test message from a phone on mobile data. Also check the rest of the page: a working form with an unclear label or a missing phone link still loses people, as our guide to form friction explains.
Where Persqo helps
You can do everything above without Persqo. If you want it watched for you:
- The Persqo plugin for WordPress runs a real visitor through your site, including the contact form, and alerts you when an update breaks something.
- Persqo fills in forms to check them but does not send them unless you opt in on a site you have verified, so it will not flood your inbox.
- Some fixes are one click inside WP admin, each with a preview and Undo, such as adding labels to form fields that have none. Anything else, like a mail server setting, comes as clear steps or a fix prompt for you or your developer.
To see what a visitor sees today, run the free check.
Sources
- Contact Form 7 doesn't send mails after updates, WordPress.org support thread mirror, checked November 6, 2026
- CF7 no longer sending after 4.8 update, WordPress.org support forum, checked November 6, 2026
- CF7 reCAPTCHA v3 update broke email functions, WordPress.org support thread mirror, checked November 6, 2026
- Flamingo, WordPress.org plugin directory, checked November 6, 2026
- WP Mail SMTP, WordPress.org plugin directory, checked November 6, 2026
Last updated: November 6, 2026.
Questions people ask
Why does Contact Form 7 say the message was sent but I get nothing?
The green message only means WordPress handed the email to your server's mail function. Delivery can still fail after that: the host may not send it, or the receiving inbox may filter it. Install Flamingo to keep a copy of each message, then fix delivery with an SMTP plugin.
What does the red border error in Contact Form 7 mean?
It means the email could not be handed off at all. The usual causes are a Mail tab problem, such as a From address on another domain, or a server that blocks PHP mail. Fix any warning the Mail tab shows, then configure SMTP.
Can a plugin update break Contact Form 7?
Yes. A security, caching, captcha or SMTP plugin update can block the form's request or change how mail is sent. Deactivate recently updated plugins one at a time on a staging copy, or with a troubleshooting plugin, until the form works again.
Do I need SMTP for Contact Form 7?
Not always, but it is the most reliable fix. By default WordPress sends mail through the host's PHP mail function, which many hosts limit. An SMTP plugin sends through a real mail account or service and usually adds a log, so you can see what was sent.