Skip to content
Redman Studio · Watford, Hertfordshire

Blog · Redman Studio, Watford: Is your contact form reaching you? Send yourself one and see.

A contact form can say "thank you" to every visitor and deliver nothing. Why enquiries go missing, the ten-minute test to run on your own site today, how mine is built so a failure cannot hide, and the setting on my own domain I have not finished.

A contact form has one job: get a stranger's message into your inbox. Most business owners never check that it does. They put the form up, a few enquiries arrive in the first month, and after that a quiet month just feels like a quiet month.

The trouble is that a broken form looks exactly like a working one. The visitor fills it in, presses Send, and sees "Thanks, we'll be in touch." The website has done its part. Whether the email ever arrived is a separate question, and the visitor has no way to know the answer. Neither do you, unless you look.

So look. It takes ten minutes.

The ten-minute test

Do this from your phone, on mobile data rather than your office wifi, so you see what a customer sees.

  1. Fill in your own form. Use a personal email address that is not on your business domain, and put the time in the message, for example "Test, sent 10:42 Monday".
  2. Wait five minutes, then check the inbox the form sends to. Not the one you think it sends to. If you do not know which address that is, that is your first finding.
  3. If it is not there, check spam, junk and any "Other" or "Promotions" tab. An enquiry in spam is an enquiry you will not see in time.
  4. Reply to the email. The reply should go to the person who filled in the form, not back to your own website. Check it lands in the personal inbox you used in step 1.
  5. Check that personal inbox for a confirmation. If your form promises one, it should be there. If it is in spam, your customers' copies are in spam too.

If all five pass, your form works today. Put a reminder in your calendar to do it again in three months, and after any change to your website, email or domain.

If any step fails, read on.

Why enquiries go missing

These are the causes I find most often, roughly in order.

It sends to an inbox nobody reads. The form was set up by whoever built the site, and it sends to the address they typed in at the time. That might be a former employee, an info@ box nobody opens, the web designer's own address, or a Gmail account from 2017. The form works perfectly. It just tells the wrong person.

The email is pretending to be you, and your email provider can tell. Many forms send the enquiry "from" your own address, so it looks tidy in your inbox. But the email actually leaves from your website's server, not from your email provider. Modern email checks for exactly this: a message claiming to be from your domain, sent by a machine your domain never authorised. Gmail, Yahoo and Microsoft have all tightened these checks since 2024. The result is the enquiry going to spam, or not arriving at all.

The sending service stopped. WordPress sites often send mail through a plugin or the host's built-in mail function. Plugins expire, hosts change their rules, and a site moved to a new server often loses its mail settings on the way. Nothing on the page changes. The form still says thank you.

The spam protection is blocking people. Some anti-spam tools are aggressive enough to reject real customers, especially on phones or older browsers. The visitor sees an error, gives up, and rings a competitor. You never hear about it.

The form says thank you even when it failed. This is the one that turns every other problem into a silent one. A well-built form only shows "sent" once the email has actually gone. A badly built one shows it as soon as the button is pressed.

The records that decide whether you are trusted

The second cause above comes down to three records in your domain's settings. You do not need to understand them in depth, but you should know whether you have them.

  • SPF lists which services are allowed to send email for your domain.
  • DKIM puts a signature on each email, so the receiving end can check it was not forged or altered.
  • DMARC tells receiving servers what to do with an email that fails those checks: let it through, put it in spam, or reject it.

You can check all three for free. Search for "DMARC checker" or "MX lookup" and enter your domain. If any of the three is missing, ask whoever looks after your email or website to add it. It is normally a short job, and it protects more than your contact form: it also makes it harder for someone to send fraudulent invoices that appear to come from you.

How mine is built

I hold my own site to this, so here is what happens when you fill in the form on redmanstudio.co.uk.

The enquiry is sent through a dedicated email service, not the web server, and that service is listed in my domain's settings with its own signature. So when an enquiry lands in my inbox, my email provider can see it was sent by a service I authorised.

The reply address is yours. When I press Reply, it goes to you, not back to the website.

You get a copy. A confirmation goes to the address you entered, so you know it arrived, and so I find out quickly if my confirmations start going to spam, because people tell me.

The form only says "sent" when the email has gone. If the email service is down or refuses the message, the form does not pretend. It opens your own email app instead, with the whole enquiry already written out and addressed to me, so you can press send yourself. Losing an enquiry should need two systems to fail, not one.

Spam is handled by a hidden field that people never see and bots tend to fill in. It costs genuine visitors nothing. No puzzle, no "click every bus".

What I have not finished

Checking my own domain while writing this, the DMARC record is there but set to monitor only. In plain terms, it tells receiving servers "if an email claiming to be from me fails the checks, deliver it anyway". That is the right place to start, because it lets you confirm everything legitimate passes before you tighten anything. It is not the right place to stay. The next step is to tell servers to quarantine anything that fails, so nobody else can send convincing email as Redman Studio. That is on my list, and I will move it once I have confirmed that every service that sends email for me passes.

What this does not fix

A form that delivers is the floor. It does nothing for an enquiry that arrives and then waits three days for a reply. Most people who fill in a small business's form have filled in two others, and the first business to answer usually gets the work. Make sure enquiries reach a phone that someone actually looks at during the day.

And it will not bring more enquiries. If the test passes and the form is still quiet, the problem is further up: whether people can find you by name, and whether the page gives them a reason to get in touch.

If you would like a second pair of eyes, send me your website address. I will send a test enquiry, tell you where it landed and check your domain's email records. No charge, and no pitch unless you ask for one.

Paul Redman runs Redman Studio, an independent web design and engineering studio in Watford, Hertfordshire.

Published
Length
1,282 words · 6 min
Written by
Paul Redman, Redman Studio, Watford
Set in
Schibsted Grotesk and Geist Mono
Printed as
Static HTML. Readable with JavaScript off.
Filed under
enquiries, email, deliverability, small-business
  • Search for your own business by name. Does it come up?

    The easiest search a customer can do is your business's exact name, and plenty of small firms fail it. Why it happens, what I found when I searched my own name, and a five-minute check across Google, Bing and the AI assistants.

  • PHP2Shell: if your website runs on WordPress, check it today

    Two critical PHP flaws were patched on Wednesday and attacks have already started. Government sites went offline as a precaution. Here is how to tell whether your site is exposed, the one email to send your host today, and why the sites I build had nothing to patch.

  • My AI-friendly website told Claude nothing. Here is the bug.

    The first version of my studio's MCP server passed every test I ran and still gave Claude a link instead of my prices. What went wrong, why curl will not catch it, and the one check to run on any tool you expect an AI assistant to use.

Send me a URL.

I will run the checks in these posts on your site and reply with what a search engine and an AI assistant currently see. No charge, no obligation, occasionally uncomfortable.