Why Am I Not Receiving Messages From My Contact Form?
The form looks like it works, but your inbox stays empty. Here are the real causes and a step-by-step way to stop losing leads.
You have a contact form on your site, visitors are coming in, but your inbox is silent. This is one of the most expensive problems a business website can have: every lost message is a customer who wanted to reach you and believed they had. The visitor sees „Thanks, your message was sent”, closes the page, and waits for a reply that never comes.
The good news: in almost every case the cause is one of a handful of known problems, and you can diagnose it in under an hour. In this article we go from the simplest test all the way to the technical part (how forms actually send email) and, at the end, how to make sure you never lose a lead again, even when email fails.
Test the form yourself, right now
Before assuming anything, run a real test. Open the site in a private (incognito) window, fill in the form with your own real details, and submit it. Note the exact time. Then:
- Check whether the confirmation message appears („message sent”) — if it doesn't, the problem is the form, not the email.
- Wait 5-10 minutes and look for the email.
- Send a second test from another device (phone, on mobile data).
If your test arrives but customers say theirs don't, only some messages may be getting filtered. If your own test doesn't arrive either, you have a clear starting point. The exact time will help when searching spam or when someone checks the server logs.
Check where the messages are „supposed” to land
Often the messages do arrive — just not where you're looking.
- Spam / Junk: the most common cause. Search using words from the form too (field names, „sent from the site”).
- The Promotions tab (Gmail): automated notifications often end up there.
- Wrong address in the settings: the form sends to an old address, one with a typo, or to the developer who built the site. Check the „recipient email” setting in the form.
- Forwarding rules and full inboxes: if the email is forwarded elsewhere or the mailbox is full, messages get lost silently.
Add the form's address to your safe contacts, and if you find messages in spam, mark them „Not spam”. This fixes a surprising number of cases.
Technical cause #1 — how forms actually send email
This is the heart of the problem. Most forms (especially on WordPress) send email through the hosting server's mail() function. The issue: shared hosting servers often have a poor reputation, and Gmail or Outlook frequently drop these messages into spam or reject them outright, with no visible error for you.
Three terms that matter:
- SPF, DKIM and DMARC are, in short, your domain's „ID papers”. If they're missing or misconfigured, messages sent in your domain's name look like forgeries and get blocked.
The correct fix: sending through authenticated SMTP or a dedicated transactional email service, not through mail(). Each message is authenticated properly, and delivery rates climb close to 100%.
The „From” address trap
A classic mistake: the form is set to send the email „From” the visitor's own address (for example From: customer@gmail.com). It seems logical — you want to reply easily — but technically it's a problem. Your server sends a message claiming to come from Gmail without any right to. Gmail and Outlook call this spoofing and block it.
The correct setup:
- „From” = an address on your own domain (e.g. contact@yourcompany.com or noreply@yourcompany.com).
- The customer's real address goes in the „Reply-To” field, so you can reply with one click without breaking deliverability.
It's a small change in the settings, but it's the difference between „always arrives” and „arrives sometimes”.
When the form doesn't send at all
Sometimes the problem isn't the email — it's the form never starting the process.
- JavaScript error: a conflicting plugin or theme can block the submit button. Typical sign: you click and nothing happens, or the page reloads with no confirmation.
- Overly aggressive CAPTCHA or anti-spam: a badly configured reCAPTCHA can reject legitimate submissions as bots.
- Broken validation or hidden required fields: the visitor thinks they submitted, but the form throws an error they don't notice, especially on mobile.
How to check: send a test and watch for the confirmation. To be sure, ask someone to open the browser console (F12 → Console) during submission — the red errors there tell the story.
The safe solution — don't rely on email ALONE
Email is useful, but it's a channel you don't fully control: filters, reputation, full mailboxes. For a business website, a lead shouldn't depend on a single fragile channel.
What we recommend:
- Save every message to a database or an admin panel too, not just email. That way, even if an email fails, the lead is still there.
- Add a second notification channel — for example WhatsApp or a second email address.
- Test delivery monthly, not only when you notice a suspicious silence.
That's how we build forms at MPO Web Studio: messages are stored, you're notified on the channel you actually read every day, and we set it all up 100% remotely. If you'd like us to check together why your messages aren't arriving, write to us on WhatsApp — we often spot the cause within minutes.
Frequently asked questions
I tested it and my own message arrived. Why not the customers'?+
Only some messages are probably being filtered. The typical cause is sending via mail() without SPF/DKIM/DMARC: your own messages, already known to Gmail, get through, while ones to other addresses or with „suspicious” content land in spam. Switching to authenticated SMTP usually fixes it.
Is it the hosting's fault or the site's?+
It's usually about how the site sends the email, not the hosting itself. Shared hosting has a weak reputation, but the fix isn't to change hosting — it's to send through authenticated SMTP or a transactional email service.
How long does this take to fix?+
Diagnosis is usually a matter of minutes to an hour. Setting up SMTP plus SPF/DKIM and running a full test is typically done the same day. It rarely takes longer, only if the domain has a complicated DNS setup.
The form has been broken for a month. Can I recover the lost customers?+
Messages lost over email usually can't be recovered — which is why we recommend also storing them in a database. After the fix, some customers return if you give them a reason (a follow-up, an offer), but prevention is far cheaper than recovery.
How do I know for sure it works now?+
Run tests from several sources (Gmail, Outlook, a phone on mobile data), confirm they land in the Inbox and not spam, and repeat the test a few days later. Ideally you also have a panel where you see every message, independent of email.
7 mistakes that drive clients away from your website
Leave your email and get the guide right here, instantly. No spam.
Want to see what your business's website could look like?
Message us on WhatsApp and we'll prepare a FREE demo website with your business name. See it first — decide after.