Here is an uncomfortable fact about small business websites: a contact form can look perfect, show a friendly “Thanks, we'll be in touch!” message, and still never deliver a single email.

We have seen it on real client sites. In one case, a care-services business's form had been handing every message to the web server's built-in mail function, and the hosting company's mail relay was quietly rejecting them. Visitors thought they had reached out. The owner thought it had been a slow few months. You can read how we fixed it in the Beloved Grace case study.

The good news: you can find out whether your form works in about ten minutes.

The 10-minute test

  1. Submit your own form with a subject or message you will recognise, like “Form test – Tuesday 9:14am.”
  2. Check the inbox the form sends to—and its spam, junk, and promotions folders.
  3. Do it again from your phone, on mobile data rather than your office Wi-Fi.
  4. Try a different email address as the sender, such as a Gmail or Outlook address.
  5. Check the timing. A healthy form usually delivers within a minute or two.

If any test message is missing, late, or in spam, you have a problem worth fixing. Customers will not resend a message they think already went through.

Why contact forms fail silently

1. The server is sending mail it is not allowed to send

Many older sites—especially PHP and WordPress sites—send form emails with the server's built-in mail function. Modern email providers increasingly reject or spam-folder mail that is not properly authenticated, and some hosts block or relay it in ways that fail. The form reports success because it handed the message off; what happened next is invisible.

2. Your domain's email authentication is missing or wrong

SPF, DKIM, and DMARC are DNS records that prove email from your domain is legitimate. If they are missing, or do not include the service your form sends through, messages are likely to land in spam or be rejected. Major inbox providers have tightened their sender requirements in recent years, so a form that worked a few years ago can stop working without anyone changing the site.

3. A third-party form service needs attention

Form services often need a one-time activation by email, a verified recipient address, or a paid plan once you pass a monthly limit. If the activation email was missed or the account belongs to someone who has moved on, submissions may be going nowhere.

4. The destination inbox changed

The form still sends to an old address: a former employee, a mailbox that is full, or a forwarder that was removed when email moved to a new provider.

5. Spam protection is blocking real people

An over-aggressive filter or a broken CAPTCHA can reject genuine visitors while still showing a success message—or show an error that only appears on certain browsers.

How to make delivery reliable

  • Send through authenticated email. Use a real mailbox on your domain over authenticated SMTP, or a reputable transactional email service, rather than the server's built-in mail function.
  • Fix SPF, DKIM, and DMARC so they cover whatever sends your form mail.
  • Keep a record of every submission on the server or in your form service, separate from email. If delivery ever fails, the inquiry still exists.
  • Send the visitor a confirmation email. It reassures them, and if they do not receive it, they know to call instead.
  • Filter spam on the server with checks that do not punish real visitors, and log what gets filtered so you can review it.
  • Test monthly. Put a reminder on your calendar to submit the form once a month. It takes a minute.

What we do on client sites

Before any site we build goes live, we test the form end to end—from a real browser to the real inbox—and check the domain's email records. When we take over an existing site, the form is one of the first things we test, because a broken one costs money every single day it goes unnoticed.

If your test message did not arrive, tell us about your site. Diagnosing a form is usually a small, focused job, and it is one of the highest-value fixes a small business website can get.