Initial assessment without passwords Quote before intervention One accountable specialist from start to finish

Recovery & Prevention

WordPress Contact Form Not Sending: Finding the Broken Link

Enquiries stop arriving and nothing looks broken. Separate a form that fails to submit from one that submits but never delivers — here is how.

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

  1. Submit from a logged-out browser, ideally on mobile too.
  2. Watch the network request to see whether it succeeds.
  3. Confirm whether an entry was stored.
  4. 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.

WP RepairDiagnostic model
1Symptom2Evidence3Controlled change4Verification
Follow the chain until you find the first point that stops behaving as expected.
  1. Submit logged out and capture the browser network request and response.
  2. Check whether the plugin stored an entry before diagnosing email.
  3. Inspect nonce, REST/admin-ajax, firewall and cache behaviour when submission fails.
  4. 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.

ABOUT THIS SYMPTOM

Frequently asked questions about this guide.

If a visitor says the form 'didn't work,' how do I know whether it's a submission problem or an email problem?+

Check whether the entry was saved in the database, since most form plugins store submissions alongside emailing them. If the entry was saved but no email arrived, the form itself works and it's a mail delivery issue; if nothing was saved either, the submission itself failed.

Could caching be the reason a contact form suddenly stops submitting?+

Yes. A caching layer can serve a stale version of the page containing an expired security token or nonce, which causes the submission to be rejected even though nothing about the form configuration changed.

Why would an email send successfully according to WordPress but never reach the inbox?+

This is a mail delivery problem, not a form problem: site mail sent without authentication is often rejected by the receiving server, or a from address can fail domain checks, or the message may simply be filed as spam. The fix is authenticated SMTP with aligned SPF and DKIM, not a change to the form plugin.

What's the safest way to actually test whether a form is working?+

Submit it from a logged-out browser, ideally on mobile too, while watching the network request to see whether it succeeds, then confirm an entry was stored, and send test submissions to two different mail providers to separate a delivery failure from an authentication problem.

BEFORE YOU SEND THE REQUEST

Frequently asked questions.

Do you ask for passwords in the form?+

No. The public form never requests access. Secure credentials are requested only after the scope and quote are approved.

Who reviews the incident?+

The request goes to Jordi Ensenyat, founder of Code Barcelona and a WordPress specialist with more than 15 years of experience.

Is anything changed before the quote?+

No. Visible symptoms and scope are reviewed first. Intervention begins after approval and with a rollback path prepared.

Do you work internationally?+

Yes. WP Repair handles WordPress and WooCommerce incidents in English and Spanish through a remote service.

Assess my incident