A guide, free to read

Why your contact form stopped sending you emails

Nobody finds out about this from their website. They find out from a customer, and usually an annoyed one.

One shop owner put it exactly:

"We have had lots of customer complaints recently of us ignoring them, when the case is really a Shopify issue."

That is the part that stings. For however long it had been broken, she looked rude. People had written to her, got nothing back, and drawn the obvious conclusion.

A broken contact form is the most expensive fault a small business website can have, and it is completely invisible. The page still loads. The form still submits. It still says thank you. Everything on your side looks perfect, because the only thing missing is an email that was never sent, and nothing anywhere tells you an email was not sent.

How long it has usually been broken

Longer than people expect.

One owner realized only when she went back through her inbox and found the most recent message was eleven days old. Eleven days of inquiries, gone, with no gap visible anywhere until she went looking.

Another described it as it happened:

"My mails were coming to me from the contact page in the website. This has now stopped for some reason and customers are being missed."

And a developer who takes over other people's sites put it plainly:

"I've audited sites where the contact form hadn't worked for months and the owner had no idea."

Months. On a form that was working fine the day it launched.

First, find out whether the messages are actually lost

Before anything else, this, because it is the difference between a bad afternoon and a genuinely bad month.

On most platforms, the form saves the message before it emails you. The email is a notification, not the message itself. If the notification failed, the messages may all be sitting in your dashboard, unread but perfectly safe.

Go and look:

  • Wix: the Inbox, and the Forms and Submissions area
  • Squarespace: Form and Pop-Up Storage, inside the site's settings
  • Shopify: contact form messages arrive as emails only by default, so check the customer notifications settings, and check whether an app is handling the form instead
  • WordPress: depends entirely on the plugin. Contact Form 7 saves nothing at all unless a separate plugin was added for it. WPForms, Gravity Forms and Fluent Forms all keep entries

If the messages are there, stop panicking and start replying. Reply to the oldest first, apologize once without explaining the technical reason, and do not offer excuses. "I am sorry, your message did not reach me until today" is enough and is true.

If the messages are not there either, they are gone, and there is no recovering them. Fix the form and move on.

The seven reasons, roughly in order

One. It is working, and the emails are in spam.

The most common cause and the least suspected. The form sends, the email arrives, and your mail provider files it somewhere you never look.

Check your spam folder, and if you use Gmail, check the Promotions and Updates tabs too. Search your mail for the sender address the form uses rather than scrolling.

Two. The notification address is wrong, old, or belongs to somebody who left.

The address was typed in once, during the build, by whoever built it. Often it was their own address, added for testing, and never changed. Sometimes it was a member of staff who has since moved on.

The form is doing exactly what it was told. It is telling the wrong person.

Three. Your form's emails are being rejected as forgeries.

This is the technical one, and it is worth understanding in plain words because it became much more common after the big mail providers tightened their rules in 2024.

Your form tries to send you an email that appears to come from your own domain. The server sending it is your website, not your mail provider. Receiving servers now check whether your domain has vouched for that sender. If it has not, the message gets treated as a forgery and binned silently.

Nothing bounces. Nothing errors. The message simply never arrives.

Four. A plugin or app updated and broke.

Mostly a WordPress problem, and it is the classic Tuesday morning fault. Something updated overnight, the form still renders, the sending half quietly stopped.

Five. Your form service hit its limit.

Some form tools have a monthly cap on the free plan. You cross it, sending stops, and the notice goes to the email address on the form account, which may not be one you read.

Six. The spam protection is catching real people.

An invisible check meant to stop bots can reject genuine visitors, especially on older phones, poor connections, or in certain countries. The visitor sees a thank you message. The submission never leaves.

Seven. The form never sent anything at all.

Occasionally a fault in the page stops the submission before it starts. The thank you message shows because that part is separate from the sending part. To the visitor, and to you, it looks like a success.

Wix

Check the Inbox first, and Forms and Submissions. Wix keeps submissions whether or not the email went out.

Then look at the form's own settings for who gets notified. Wix sends notifications to the site owner's Wix account email by default, which is often not the address you actually read.

If entries are arriving in the dashboard but no email is, it is a notification setting, not a broken form.

Squarespace

Squarespace forms need somewhere to send to, and that is set per form, not for the whole site. A form added later can easily have been saved without a destination.

Check Form and Pop-Up Storage for the entries. Then open the form block itself and look at its storage and notification settings.

One trap worth knowing: Squarespace has changed how form storage works more than once. If your form was built years ago, the setting may be somewhere different from where a current article tells you to look.

Shopify

Shopify's default contact form emails the store's customer service address, and that is the field to check first, in the store notification settings.

Many stores are not using the built in form at all. If yours came with the theme or an app, the email goes wherever that app was told, and the app is where you look.

The owner quoted at the top of this page was on Shopify, and her messages were reaching the store. They were simply not reaching her.

WordPress

The important thing about WordPress is that WordPress itself does not send email well. It hands the job to the server, and shared hosting servers are frequently poor at it or blocked from doing it at all.

Three things to check, in order:

Which plugin runs the form. Contact Form 7, WPForms, Gravity Forms, Fluent Forms or something the theme included. Find the name before anything else.

Whether entries are being saved. Most plugins list them. Contact Form 7 is the exception and saves nothing by default, which is why so many of these stories come from Contact Form 7 sites.

How the site sends mail. If nobody has set up a proper sending service, you are relying on the server, and reason three above applies. The fix is to route the mail through a real email service, which is a small job for whoever looks after the site and it fixes this permanently.

Why "I tested it and it worked" proves almost nothing

This is the part that catches careful people.

There is a documented case of an owner testing their own form, getting nothing, concluding it was broken, and then testing again with realistic details and having it arrive perfectly. Same form, same day, two opposite results.

The reason is that spam filters judge the content. Type "test" in the name field, "asdf@asdf.com" in the email, and "test test" in the message, and you have written something that looks exactly like a bot. It gets filtered, by your form or by your mail provider, and never reaches you.

So your test fails while real customers get through. Or the reverse, which is worse: your clean, realistic test arrives beautifully while a real customer with a long message and a link in it gets silently dropped.

Test it properly:

  • Use a real name and a real email address that you can check, not your main one
  • Write a real sentence, the length a customer would write
  • Send it from your phone on mobile data, not from the computer you built the site on
  • Wait ten minutes, then check your inbox, your spam folder, and the dashboard storage
  • Do it a second time from a completely different email address, ideally one at a different provider

If both arrive, you have reasonable evidence. One test proves nothing.

The habit that actually prevents this

Every problem on this page shares one property: it produces no signal at all. No error, no alert, no gap you can see without looking for it.

So the only defense is a small deliberate check, and the right interval is monthly rather than yearly.

On the first of each month, send yourself one real inquiry through your own form and make sure it arrives. Two minutes. Put it in the calendar next to whatever else you do monthly.

If you take bookings or payments through the site, book something and buy something too, then cancel and refund them. Same principle, higher stakes.

One last thing about the apology

If you find weeks of unread messages, reply to all of them, including the ones that are clearly too old to matter.

Some will have gone elsewhere. A few will not. And the ones who hear from you will remember that you came back at all, which is not nothing.

Do not explain the technical cause. Nobody wants it, and it reads as an excuse. "I am sorry, your message did not reach me until today" is the whole email.

All fifteen guides

Coming soon

A website checker that tells you what is wrong with your site, in plain English.