"People say they filled in our contact form, but we never get the message"

The most common small-business website bug. This page rebuilds it, with a switch between the broken form and the fixed one. Fill it in and press Send in both modes; the dark panel shows what the mail server does with it.

Replay: Send on the broken form, then the same message after the fix.

Contact us broken

Any format is fine.
Please enter a phone number like 5552017788.
Thanks, Dana - your message reached us. We reply within one business day, usually sooner.

What the mail server sees

Press Send to watch the message travel.

What was wrong (and still is)(and what changed)

  1. Sent "from" the visitor's address. The form mails From: dana.lee@gmail.com through your web host. Gmail's published policy says only Google may send as gmail.com, so your inbox provider rejects or spams it. Fix: send From your own domain (forms@yourbusiness.com, authorised in SPF/DKIM) with Reply-To set to the visitor, so Reply still reaches them.
  2. A phone rule that rejects normal numbers. "(555) 201-7788" fails a digits-only pattern, and the error sits below the fold on a phone. Fix: accept any format and strip it to digits on the server.
  3. No confirmation. The page just reloads, so visitors cannot tell whether it worked, and either give up or send three times. Fix: a clear thank-you that says when you will reply.
  4. No copy kept. When mail fails, the message is gone. Fix: every submission is also saved on the site (WordPress: the form plugin's entries list), so nothing is lost even if email has a bad day.