WordPress Errors

Your Contact Form Is Not Sending Email — And You Probably Don't Know Yet

A broken form is the most expensive silent failure a website can have. Here is why a contact form stops sending email, how to diagnose it, and how to make sure it never fails quietly again.

Get Shielded
19 Jul 2026 5 min read
Your Contact Form Is Not Sending Email — And You Probably Don't Know Yet

Of all the ways a website can fail, this is the most expensive — because nothing looks wrong.

The page loads. The form submits. The visitor sees a thank-you message and assumes you will be in touch. You see a quiet month and wonder whether marketing is working. A contact form not sending email can run for months before anyone notices.

We have seen businesses lose an entire quarter of enquiries this way. Every one of those people believed they had contacted you.

Why WordPress email is fragile by default

WordPress sends mail using a basic PHP function that hands the message to the server and hopes. There is no authentication, no delivery confirmation, and often no error if it fails.

Meanwhile mail providers have become far stricter. Messages that fail SPF, DKIM and DMARC checks are increasingly rejected or filed as spam without explanation.

The default setup sends mail that looks, to a modern spam filter, a lot like forged mail. Sometimes it gets through. That inconsistency is the whole problem.

This is why a form can work for two years and then quietly stop after a host change.

The common causes

1. No proper SMTP configured

The single biggest cause. Mail is being sent unauthenticated from your web server, and receiving servers are increasingly unwilling to accept that.

2. The From address is wrong

A frequent and subtle one. If the form sets the From address to the visitor's own email — say someone@gmail.com — your server is sending mail claiming to be from Gmail. That fails authentication checks and gets rejected.

The From address should always be one at your own domain. Put the visitor's address in Reply-To instead, so replying still works normally.

3. Missing SPF, DKIM and DMARC records

These DNS records tell receiving servers who is allowed to send mail for your domain. Without them, your legitimate mail looks unverified.

4. Landing in spam

Sometimes the mail is being delivered and filed. Always check the spam folder before concluding nothing was sent.

5. Something changed

Forms usually break after an event: a host migration, a plugin update, an email provider change, a domain transfer, or a DNS edit. If you can date when enquiries stopped, look at what changed that week.

6. Sending limits

Many hosts cap outgoing mail per hour. A busy form, a newsletter, or a compromised site sending spam can exhaust that quota, after which everything silently fails.

The fix that actually holds

Stop sending mail from the web server. Use a proper transactional email service instead — a dedicated provider that handles authentication, reputation and delivery logs.

Configure your form plugin to send through that service via SMTP or its API. This gives you three things the default setup cannot: authenticated mail that passes modern checks, a delivery log showing exactly what happened to each message, and alerts when sending fails.

That last point matters most. It converts a silent failure into a visible one.

Getting the DNS right

Whichever provider you choose, add the records they specify:

  • SPF — lists which servers may send mail for your domain
  • DKIM — cryptographically signs your messages
  • DMARC — tells receiving servers what to do when checks fail, and can report back to you

Most providers give you the exact values to paste. Changes can take a few hours to propagate, so test afterwards rather than assuming.

Testing it properly

Testing with your own address is not sufficient. Mail to your own domain often bypasses the checks that matter.

  1. Submit the form and send to a Gmail address
  2. Repeat with an Outlook or Hotmail address
  3. Repeat with a business address on a different domain
  4. Check the spam folder in each
  5. Confirm the delivery log in your email provider shows the message accepted
  6. Reply to the notification and confirm it reaches the visitor's address

That last step catches a Reply-To that was never configured — a common reason enquiries feel like a dead end.

The safety net: store submissions in a database

This is the most important change you can make, and it is not about email at all.

Configure your form to save every submission to the website database as well as emailing it. Then even if delivery fails completely, the enquiry is recorded and recoverable.

Email is a notification. It should never be the only copy of a lead. A form that emails and nothing else has a single point of failure with no backup — which is exactly why these losses are so often permanent.

Detecting it before your customers do

Add a weekly test to your routine. Submit your own contact form and confirm the email arrives. It takes a minute.

Better still, watch for the signal: a fall in enquiries with no fall in traffic. If analytics shows visitors reaching the contact page as usual while enquiries stop, the form is the suspect — not the market.

This belongs on your website maintenance checklist alongside backups and updates.

One security note

If your host says you have exceeded sending limits and you have not sent much mail, that deserves investigation. Compromised sites are commonly used to send spam, which exhausts the quota and blacklists your domain.

The symptom looks like a broken contact form. The cause is something else. Our guide to removing malware from WordPress covers what to check.

If enquiries have gone quiet

Before assuming demand has dropped, check the form. It is a five-minute test and it is occasionally the whole explanation for a bad quarter.

Our WordPress error fixing service sets up authenticated email properly, configures the DNS records, adds database storage as a safety net, and tests delivery across the major providers.

Get in touch — and if our form works, that is at least one good sign.

Get Shielded

We build, host, secure and monitor business websites — cleaning up hacks and keeping sites online for clients across the UK, USA, Australia and the UAE.

Keep reading

Chat on WhatsApp