Why your business emails go to spam, and how to fix it
The records and settings that keep confirmations, quotes and form emails out of spam.
When a form breaks, nobody gets an error message: the enquiries stop arriving and nobody is told. This guide follows one enquiry from the send button to your inbox, checks each place it can stop, and sets up a stored copy and a weekly test so the next failure shows the same day.
Updated 29 October 2026, about 8 minutes to read
The short answer
Send a test from your phone and follow it. If the form shows an error or nothing happens, the page or its script is broken. If it says thank you but no email arrives, check the notification address, then your spam and quarantine folders, then how the site sends mail: many sites send from the web server with nothing proving the mail is from your domain. Fix it, and keep a stored copy of every enquiry.
An enquiry passes through six places between the send button and the person who answers it, and it can stop at any of them:
What the person filling in the form sees tells you where to start. An error, or nothing happening, points at the page. A thank-you message with no email points further down the line, because the website accepted the enquiry and lost it on the way to you.
Do this from your phone on mobile data, the way a customer would:
If the copy is in the website but the email never arrived, the form works and the email is failing. If there is no copy and no email, the problem is in the form itself.
A thank-you message on the screen only means the website accepted the enquiry. It says nothing about whether the email reached anyone, so never treat it as proof the form works.
The page itself is broken, and customers see it. The usual causes:
If the spam check is the problem, do not switch it off and leave it off: how to stop contact form spam covers checks that do not block real people.
If the page says thank you, open the form's notification settings and read the To address character by character. The usual finds:
Send notifications to a role address that more than one person reads, such as enquiries@, rather than to one person's mailbox. How to set up a business email address covers groups and shared mailboxes.
Then look wherever filtered mail goes, for the test and for the past few weeks:
Releasing messages one at a time is not a fix. If the notifications keep landing there, the cause is how the site sends them.
This is the usual cause when a form says thank you and nothing arrives. WordPress, for example, sends mail through PHP's built-in mail function unless something replaces it. Its own documentation says a successful result only means the request was handed over without errors, not that anyone received the email. By default it sends from a made-up wordpress@ address on your domain, and WordPress notes that some hosts block mail from an address that does not exist.
Mail sent straight from a web server usually carries nothing that proves it came from your domain. Google's rules for senders require every sender to set up SPF or DKIM, and mail that fails can be marked as spam or refused.
Check the From line while you are there. A form that puts the customer's address in From, so that pressing reply answers them, fails those checks for customers with Gmail or Yahoo addresses, and their enquiries are the first to vanish. Use an address on your own domain in From and the customer's address in Reply-To.
The fix is to send form mail through a proper service: your own email provider, connected the way it recommends for apps and devices, or an email sending service set up for your domain. On WordPress that means an SMTP plugin or the sending service's own plugin. Then add the records the service gives you, as why your business emails go to spam explains.
If most enquiries arrive and a few never do, the pattern points at the cause:
Ask a friend with a different email provider, and one on a different phone network, to send a test as well. Two or three tests from different people find this kind of fault faster than ten from you.
The path is the same on every platform, but where you look differs:
Say a cleaning company notices that quote requests have dried up since the spring. Its site runs WordPress with Contact Form 7, and its email is on Microsoft 365. The owner follows one test enquiry:
The fix: an SMTP plugin that sends through Microsoft 365 from website@ on the company's own domain, the customer's address moved to Reply-To, Flamingo installed so every enquiry is saved in the site, and a test from a phone every Monday. Then the office calls back everyone it can still find in quarantine.
Email is the wrong place for the only copy of an enquiry, because email fails quietly. Keep one somewhere that does not depend on it:
Then a failed email costs you a delay instead of a customer. Keep only what you need, only for as long as you need it, and limit who can read it, as the GDPR checklist for small business websites explains. When we build a site, the form lands in your inbox, and where your software allows it, a copy goes into your customer records as well, as our websites page describes.
A form that worked last month proves nothing about today. Plugins update, passwords change, domains move and people leave. Set a weekly check that takes two minutes:
An automation can do the counting. Enquiry follow-up sends every enquiry to the right person and chases the ones nobody answered, and a well-built automation alerts a named person when a step fails, so a broken form shows up the same day.
Once it works again, go back for the ones that went missing:
A short message works: "Thank you for your enquiry on our website on 3 March. A fault meant it did not reach us until today, and I am sorry for the wait. Are you still looking for help with this?" A roofing or plumbing firm that calls back the same day can still win work it thought it had lost.
If you are launching a new site, the website launch checklist covers testing every form before the first customer uses it.
The website accepted the enquiry, so the problem is between the site and your inbox: a wrong notification address, a spam or quarantine folder, or mail sent from the web server without the records that prove it came from your domain. Check whether the site kept a copy, then work down that list.
Usually because the site sends them from the web server, or with the customer's address in the From line, so the receiving server cannot confirm they came from your domain. Send them through your email provider or a sending service, from an address on your domain, with SPF and DKIM set up.
Send an enquiry from a phone on mobile data, using an address that is not the one notifications go to, with the time in the message. Check that the thank-you message appears, the email reaches the right inbox and not spam, pressing reply answers you and a stored copy exists. Repeat it every week.
In most cases, yes. By default WordPress sends mail through PHP's built-in mail function, and its documentation says a successful send only means the request was handed over. Sending through your email provider or a sending service, with an SMTP or provider plugin, gives the mail the records that prove it is yours.
Three usual reasons: the spam check's key was registered for the old domain, the notification still goes to an address on the old domain, or the new domain's DNS lacks the records that let the site send mail. Check each one, then send a test from a phone.
Only to the email address in the form's Mail settings. Contact Form 7 does not store messages anywhere by itself, so if the email fails, the enquiry is gone. Its maker suggests installing Flamingo, a free companion plugin that saves every message in the site's database.