Here's how a contact form usually breaks. Nothing happens.

No error page and no warning email. A visitor fills in their name, types two careful sentences about the job they need done, and hits submit. The page says "Thanks! We'll be in touch soon." They believe it. Then they wait a day, give up, and call the next company on the list.

You never find out. On your end it just looks like a slow month.

Why nobody notices

A broken phone line gets noticed fast because customers complain about the busy signal. A broken form usually keeps saying "thanks." The thank-you message only means the website accepted the submission. It says nothing about whether an email went out, or whether that email reached a person.

So the only symptom is an absence. And absences are easy to explain away: it's summer, the economy's weird, people just call now. Sometimes that's true. Plenty of times the leads were coming in the whole time and landing somewhere you don't look.

The four places leads disappear

When we trace a "website contact form not sending emails" problem, it nearly always turns out to be one of these:

  • The spam folder. Form emails often fail the checks that prove a message came from who it says it did, because your web server is sending them instead of an authorized mail service. Add a generic subject like "New submission from Contact Form" and Gmail and Outlook will file them away without telling you.
  • An inbox nobody reads anymore. The form was set up three years ago to send to your office manager, or to the developer who built the site, or to an info@ address that forwards to someone who left. The emails arrive fine. Nobody's there to read them.
  • A plugin that broke during an update. On WordPress, Contact Form 7, WPForms and Gravity Forms all rely on the server's mail settings by default. A plugin update or a change at your host can quietly break sending. The form still shows up and still says thanks. (The usual fix is pointing the plugin at a proper SMTP or email-sending service, with a From address on your own domain and the visitor's address in Reply-To.)
  • Someone changed your domain's email settings. Someone touched your DNS while moving the website or switching email providers, and now Google or Microsoft rejects mail that claims to come from your domain. This one gets its own section below, because it's the one nobody owns.

Why testing it yourself proves almost nothing

If you've ever wondered how to test your website contact form, you probably did the obvious thing: filled it out with your own email and checked whether it showed up. It did, so you moved on.

That test is weaker than it looks. A lot of forms are set up to put the visitor's address in the From line, so the message claims to come from that person's email provider even though your web server sent it. Yahoo and AOL tell receiving mail systems to reject that kind of message outright, and Gmail and Outlook treat it with suspicion. Your own address on your own domain often gets through anyway, so your test passes while a stranger's message dies.

You're also testing once, on one day, from one device. And you're checking the inbox you expect it to land in, when the whole question is where it lands for real.

A proper test looks more like this:

  • Submit from an address that's never contacted you before. A personal Gmail works. A Yahoo or AOL address is a tougher test, so ask a friend who has one.
  • Use a realistic message, the way a real customer would write it, with a phone number and a short description of the job.
  • Check the inbox and the spam folder, plus any shared or forwarded mailboxes. Write down how long it took to arrive.
  • Reply to it. If your reply bounces or goes nowhere, you have a second problem.

If the message took more than ten minutes, or landed in spam, assume real customers are getting the same treatment.

The DNS piece, in plain English

Your domain has a few public records that tell the world which services are allowed to send email on its behalf. You'll hear them called SPF, DKIM and DMARC, and they matter for all of your business email, not just your form. Think of them as a guest list at the door. If your website's form sends mail "from" your domain but the server it's using isn't on the list, Gmail and Outlook get suspicious. Gmail has required every sender to pass SPF or DKIM since February 2024, and Microsoft added stricter rules for high-volume senders to Outlook.com addresses in May 2025. Your contact form is nowhere near high volume, but unauthenticated mail gets far less benefit of the doubt than it used to.

Here's where it gets messy for a small business. Your website lives with one vendor and your email lives with another, maybe Google Workspace or Microsoft 365. Your domain is registered somewhere else again, often GoDaddy or wherever someone bought it in 2016. When form emails stop arriving, the web developer says it's an email problem. The email provider says their service is working fine, which it is. The registrar just points you to their help docs.

Each of them is right about their own piece, and nobody is looking at how the pieces connect, which is exactly where your leads slip through. Your website, email, phone and CRM all work as one system, whether or not anyone's managing them that way. A form can write faithfully to a CRM nobody opens, and the lead still dies there.

Make it fail loudly next time

You can't stop every break. You can make sure you find out within days instead of months.

  • Send every submission to two addresses, say one person's inbox plus a shared address or the owner's phone. If one copy goes missing, the other one shows it.
  • Put a test on the calendar. Once a month, first Monday, someone submits the form from an outside address and confirms it arrived. It takes about five minutes.
  • Keep a rough count of your submissions. Many form tools can keep a log, though not all do it by default (Contact Form 7 stores nothing unless you add a plugin). Your analytics can count submissions too, and that count doesn't depend on email, so nine in analytics and four in your inbox tells you something's wrong. If you usually get eight a month and this month you got zero, that's your alarm.

The fix that actually holds up

The bigger problem is where your leads live. On a lot of small business sites, form submissions go through the developer's account, or sit in a plugin database that only the agency can log into. That works until the developer moves on or the credit card on file expires. Then the leads keep coming in and pile up somewhere you have no access to.

The fix is simple to describe. Every submission should arrive in real time in an inbox your business owns, under an account in your name, with a copy kept somewhere you can search later. When we set this up for clients, the form sends straight to the client's own inbox, not to an account of ours. If a vendor leaves, the leads keep arriving in the same place. We're also building Plum It, our own automation tool, to make that hand-off easier.

That's part of what a website should actually do for a service business. Its job is turning visitors into conversations, and a form that silently drops them isn't doing that job.

One honest question

When did you last get a form submission from someone you didn't already know?

Leave out the spam, the vendor pitches and the existing customer who used the form because it was handy. We mean a real stranger asking about real work. If you have to scroll back more than a month to find one, run the test below.

Do this today

Run the outside-address test above before the end of the day. It takes a private browser window, a personal email you've never used with your business, and ten minutes of checking inboxes and spam folders. If the message doesn't show up, you may have just found out why last month was so quiet.

If you'd rather have a second set of eyes, Marshland will run a free form test for you. We'll submit your form from outside your network, trace where the message actually goes, and check your domain's email records along the way. There's no pitch attached. You'll get a short note telling you whether it works, and if it doesn't, why. Send us your site address or call (843) 321-8208.