Short answer: there are two very different failures. Either the form never submits successfully, or it submits fine and the notification email never arrives. They look identical to a visitor but have completely different causes.
Establish which failure you have
Most form plugins store submissions in the database as well as emailing them. If entries are being saved but no email arrives, the form works and the problem is mail delivery. If nothing is saved either, the submission itself is failing. Checking that one thing removes most of the guesswork.
When the form does not submit
- A JavaScript error blocking the submit handler — check the browser console.
- The submission endpoint (often admin-ajax.php or the REST API) returning a server error — check the Network tab.
- A caching layer serving a stale page with an expired security token/nonce.
- A firewall or bot-protection rule rejecting the request.
When it submits but nothing arrives
This is a mail-delivery problem, not a form problem: site mail sent without authentication and rejected, a from address failing domain checks, the notification going to a mistyped address, or the message filed as spam. The fix is authenticated SMTP with aligned SPF and DKIM.
Test like a visitor
- Submit from a logged-out browser, ideally on mobile too.
- Watch the network request to see whether it succeeds.
- Confirm whether an entry was stored.
- Send to two different mail providers to separate delivery from authentication.
Do not leave it to chance
Contact forms fail quietly and the cost accumulates invisibly — every lost enquiry is a customer who assumed you ignored them. Keep database storage enabled alongside email so a future delivery failure never means a permanently lost lead, and test the form periodically rather than waiting to notice silence.
WP REPAIR INCIDENT STANDARD
Safe intervention sequence
A contact form can fail before saving the submission or succeed and fail only at notification delivery. Checking stored entries first divides the problem immediately.
- Submit logged out and capture the browser network request and response.
- Check whether the plugin stored an entry before diagnosing email.
- Inspect nonce, REST/admin-ajax, firewall and cache behaviour when submission fails.
- If the entry exists, test authenticated mail delivery and notification routing.
What must be verified
- A logged-out submission returns success and is stored once.
- The notification reaches the correct inbox and reply-to works.
- Spam controls still block an obvious automated submission.
Official technical sources
Continue the diagnosis
This guide explains the diagnosis. If the site is affected now, the intervention should preserve a rollback path and verify the real business journey.
See the emergency repair service →