My contact form sends nothing: the four causes
Your form looks good. The "thank you" message appears properly. Except nothing reaches your inbox. You have no idea how long this has been going on, or how many people wrote to you and never got an answer. And you have no way of finding out.
Four causes, in this order: no sending service is wired behind the form, the destination address is empty or wrong, the message lands in spam, or the page shows "thank you" without having sent anything. One real test message tells them apart in two minutes.
Why this is the most common failure
A form has two halves. The one you see — the fields, the button, the confirmation message — and the one you do not: whatever takes what was typed and carries it to you.
The first half is built in three minutes and checked at a glance. The second needs an outside service, a destination address and some configuration. An AI asked to “add a contact form” almost always delivers the first, sometimes the second, and announces the same thing either way.
Hence the result: a perfectly presentable form leading nowhere, with nobody noticing for weeks.
The four causes, in testing order
Nothing is wired behind it. By far the most common. A site made of plain pages cannot send email on its own: it needs a service to do it. Without one, what gets typed goes nowhere.
The destination address is empty or wrong. The service is there, but it sends to a leftover example address, or to a misspelled one. Nothing visibly fails — it goes into the void.
The message arrives, but in spam. Email sent by a brand new site, with no reputation, often lands there. Always check that folder before concluding it is broken.
The page says “thank you” without having sent anything. The confirmation is sometimes set to appear on click, regardless of the outcome. This is the most deceptive case: everything looks fine, including to you.
The two-minute test that settles it
Fill in your own form with something recognisable — not “test”, rather a sentence you will find again by searching. Send it. Then, in order:
Check your inbox. Then spam. Then, if you use a sending service, look in its dashboard to see whether the send appears at all. That last step is what separates “the message never left” from “the message left and did not arrive” — two entirely different problems.
If the send appears nowhere, you are in case one. If it appears but nothing arrives, you are in case three.
How to ask so it gets done fully
The wording changes everything. “Add a contact form” gets you the appearance of a form. What you need takes one more sentence:
The form must send a real message to my address. When you are done, send a test message and show me it arrived.
The second half does all the work. An AI cannot prove a message arrived without having genuinely wired the sending. By demanding proof, you make a decorative form impossible to deliver.
And if it cannot check delivery itself, it has to say so — so that you do, before moving on.
The habit that stops it happening again
A form that works today can break tomorrow: a service changing its rules, an address expiring, a neighbouring edit unplugging something.
Hence the simple rule: every change touching the form ends with a real test send. Thirty seconds. It is the best effort-to-result ratio on your whole site, because it is the one page whose failure is completely silent.
> pick the project back up, carry on with the pricing page