WebsiteTrouble.com Logo

WebsiteTrouble Blog · Website Repair

Your Contact Form Stopped Sending. Here Is Why

Your form says thanks, but the email never arrives. The five usual causes of silent form failure and the fix that actually sticks.

Of all the problems I fix, this one costs businesses the most money, because it is silent. Your contact form looks fine. A visitor fills it out, clicks send, sees a thank-you message, and waits to hear back from you. You never get the message. Nobody complains, because the customer assumes you ignored them, and you never knew they existed. Weeks of leads can vanish this way.

Why forms stop delivering

A contact form does not deliver mail the way your email app does. By default, most WordPress forms send through your hosting server with a basic built-in mail function, and that mail often fails modern spam checks. The usual causes I find:

  • Spam filters eating the mail. Your form messages look suspicious to your email provider because they claim to come from your domain but arrive from a web server. Into spam they go, or they get rejected outright.
  • No SMTP setup. The site was never configured to send mail through a real, authenticated email account, so every message goes out with weak credentials and gets treated like junk.
  • Hosting mail limits. Cheap hosting plans cap or throttle outgoing mail, and form notifications are the first thing to quietly stop.
  • The form points at an old address. The messages are sending fine, to an inbox nobody has checked since an employee left two years ago. I see this more than any other cause on this list.
  • A plugin misconfiguration. A form update or a settings change rerouted notifications, turned them off, or broke the connection.

How to test your form properly

Do not just send yourself a test and call it good if it arrives once. Test it the way a customer would:

  • Submit the form from a phone, not logged in to anything.
  • Use an email address from a different provider than your business mail.
  • Check the inbox, the spam folder, and any catch-all or admin mailbox.
  • Wait fifteen minutes. Some failures are really just delays, and some delays are really failures.
  • Check every form on the site, not just the main contact page. Quote forms and booking forms break independently.

If the site itself is down or throwing errors, fix that first. My post on what to check when your website is down covers the order, and if you are seeing actual error messages on screen, my guide to website error messages explains what they mean.

What a real fix looks like

The proper fix is almost always the same: stop letting the website send mail as itself, and set the site up to send through your real email account with authenticated SMTP. The form plugin connects to your actual mailbox provider, signs in properly, and sends notifications that pass spam checks because they genuinely come from your domain's mail system. While that is being set up, notifications should also go to an address a human actually reads, and a copy of every submission should be stored in the site's database, so a mail problem can never erase a lead again.

This is standard work in the website repair help I do, and it is usually done in one session, including the testing, because "probably fixed" is not good enough when leads are on the line.

The uncomfortable question

If your form has been broken for a while, it is worth asking how long. Form entries stored in your WordPress database sometimes go back months, and I have recovered real customer messages from sites where the owner thought business had just been slow. It is worth the look before you write those leads off.

A form test takes two minutes and I recommend doing one monthly, out loud, on your calendar. Or hand it to me live: we submit a test together on screen share, watch where it lands, fix the delivery properly, and you leave knowing your next customer inquiry will actually reach you.

Rather have it fixed today?

This is the kind of problem I fix live on a screen share, while you watch. A standard fix is $99 for the first hour, same-day emergency help is $299 for the first hour, and every fix carries a 30-day warranty.