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.

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