Fast turnaround. No long contracts.
Broken Contact Form Fix — Forms Not Sending Email
You could be losing leads right now without knowing it. I’ll configure reliable authenticated delivery and verify successful test submissions across common providers.
A contact form that silently fails looks identical to a quiet week. The fix is rarely the form plugin itself — it is almost always what happens after the form hands the message off.

Sound Familiar?
What I'll Do
Where contact form email actually breaks
A submission passes through five stages. Knowing which one fails tells you the fix — and four of the five are invisible from inside the form plugin.
- 1
Form submission reaches the site
If this fails, it is JavaScript, a caching layer serving a stale nonce, or a bot-protection rule rejecting the POST. Symptom: the form spins forever or reloads with no message.
- 2
The site hands the message to a mail transport
By default PHP hands it to the local sendmail binary, which on most shared hosts is either disabled or unauthenticated. This is the single most common failure point. Fix: send through authenticated SMTP or a transactional API instead.
- 3
The SMTP server or API accepts it
Wrong port, wrong credentials, or a provider blocking port 25. Symptom: the plugin reports success but nothing is queued. Only the mail log shows the truth.
- 4
The receiving server accepts it
This is where SPF, DKIM and DMARC decide your fate. If your domain publishes an SPF record that does not include the server actually sending, the message is rejected or quarantined before any human sees it.
- 5
It survives spam filtering
Delivered but filed in Junk still counts as a lost lead. Reputation, alignment between the From domain and the sending domain, and message content all matter here. See emails going to spam.
Form platforms I work with
- Contact Form 7 — including the mail-tab misconfigurations that silently drop messages.
- WPForms and Gravity Forms — notification routing, conditional logic, entry storage.
- Elementor Forms — including submissions that save to the database but never email.
- Shopify contact forms — theme-level forms and app-based ones.
- Custom PHP, Laravel and React/Next.js forms — including API-backed submissions.
What you get as proof it is fixed
"It works now" is not evidence. Every form fix is handed back with:
- A before-and-after test submission, timestamped, so you can see the failure and the fix.
- Mail log evidence showing the message accepted by the receiving server, not just sent.
- SPF, DKIM and DMARC records checked and shown passing, not assumed.
- A backup copy of submissions stored in the database, so a future mail outage never loses a lead again.
- Delivery to a real inbox you nominate, checked in Inbox and Junk.
Contact form questions
My form says "message sent" but I never get anything. Why?
The plugin only knows it handed the message off. Almost always the site is using unauthenticated local mail, or your SPF record does not authorise the sending server, so the receiving end silently discards it. The mail log tells you which.
Do I need SMTP, or is the default fine?
For anything you rely on commercially, use authenticated SMTP or a transactional email API. Default PHP mail is unauthenticated and increasingly rejected outright.
Will you test it before handing it back?
Yes — a real submission to a real inbox you nominate, with the log evidence and the before/after documented.
Can you stop the spam without breaking the form?
Yes. Usually honeypot and timing checks server-side rather than a CAPTCHA, so genuine users notice nothing. If you run Shopify, there is a longer piece on bot filtering.
Related articles
Deep-dive guides on the same topic.

My Contact Form Is Not Working — Here's How to Fix It
Missing leads because your contact form isn't sending emails? Here are the most common reasons forms break and how to get them working again.

Emails Not Delivering? You Probably Need SPF, DKIM & DMARC
If your emails are going to spam or not arriving at all, your DNS email authentication records are probably missing or misconfigured.

Emails from My Website Going to Spam? Here’s the Fix
Your website sends emails but they land in spam — or never arrive. Here’s how to fix deliverability with SPF, DKIM, DMARC, and SMTP properly.
Ready to Get This Fixed?
Send me a message and tell me what's going on. I'll take a look and let you know how I can help.