"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
What the mail server sees
Press Send to watch the message travel.
What was wrong (and still is)(and what changed)
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.
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.
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.
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.