Get in touch
Have a project in mind? Tell us a bit about it.
When an owner asks us “why am I not receiving emails from my website contact form?”, the form itself is usually fine. In most cases the enquiry reaches the website, and the email that should tell you about it gets lost: it lands in spam or quarantine, gets rejected because your domain hasn’t authorised the website to send mail, or goes to an old address nobody checks. Check in this order: is the enquiry saved on the website, is the email sitting in spam, and is the website allowed to send email as your domain.
That order matters because the first check tells you whether you have lost enquiries already, and the third is where most permanent fixes live. Below are the follow-up questions owners ask once they spot the problem, with the checks and settings for WordPress, Wix, Squarespace and Shopify.
Is my contact form broken, or is it just the email?
You can tell in about five minutes with one test submission. Do it from your phone on mobile data, using an email address that is not the one the form sends to, so you see what a customer sees.
- Fill in the form and submit it. Note whether you get a thank-you message or page, an error, or nothing at all.
- Look for the entry on the website. Most form tools keep a copy of each submission in the site’s dashboard (where to look is in the next section).
- Check spam, junk and quarantine in the inbox the form sends to, and search for your test name.
- Check who the form sends to. Open the form’s notification settings and read the “send to” address. Is it someone who left, or a mailbox you stopped using?
| What you see | What it usually means | What to do |
|---|---|---|
| Error message or the button does nothing | The form itself is broken (a plugin conflict, a spam-protection check failing, or a script error) | Get your web designer or developer to fix the form first; email settings won’t help yet |
| Thank-you message, entry saved on the site, no email anywhere | The website accepted the enquiry but the notification email was never delivered | Fix how the site sends email (sections below) |
| Thank-you message, entry saved, email in spam or quarantine | The email arrived but your inbox doesn’t trust it | Release it, then authenticate the sending (SPF or DKIM) so it stops happening |
| Thank-you message, nothing saved on the site, no email | Your form tool may not store entries, so the email was the only copy | Fix sending, and turn on entry storage so this can’t cost you leads again |
| Email arrives at an address you don’t check | The notification address is out of date | Change the notification address and add a second recipient |
If you run Google Ads or Meta ads that count form submissions as conversions, compare those numbers with your inbox too. An ad account reporting enquiries you never saw is often the first sign of this problem. If the numbers match and enquiries are still missing, read why Google Ads get clicks but no calls.
Where can I find the enquiries I’ve already missed?
Check your form tool’s saved entries first; if it stores submissions, every missed enquiry is still there and you can call those people back today. Some popular tools don’t keep a copy, though, and then the email was the only record.
| Form tool | Keeps a copy of submissions? | Where to look |
|---|---|---|
| Contact Form 7 (WordPress) | No. Its docs say it doesn’t store submitted messages anywhere unless you add the free Flamingo plugin (Contact Form 7) | Flamingo, if it was installed before the enquiries came in |
| WPForms Lite (WordPress) | Not on your site. Lite emails each submission; the optional Lite Connect feature keeps an encrypted cloud backup that is restored if you upgrade to a paid plan (WPForms) | Paid WPForms versions store entries in your WordPress database |
| Fluent Forms (WordPress) | Yes | Fluent Forms, All Forms, then Entries under the form’s title (Fluent Forms docs) |
| Gravity Forms (WordPress) | Yes | Forms in the WordPress admin menu, hover over the form, then Entries (Gravity Forms docs) |
| Wix Forms | Yes | Dashboard, Forms & Submissions, the More Actions icon next to the form, then View submissions (Wix Help Center) |
| Squarespace form block | Each form needs at least one storage option; it can save to your site, email, Google Drive or Mailchimp (Squarespace Help Center) | Lists & Segments panel, Form Submitters, the submitter, then Form Details |
| Shopify contact page | Shopify sends every submission to the store’s sender email address (Shopify Help Center) | The inbox for the sender email address set on the Notifications settings page |
Worked example (example figures). Say Fluent Forms shows 14 entries for October and your inbox has 9 form emails for the same month. Export or list the 5 that are missing, note their dates, and ring them in order of how recent they are. Then look at the dates: if the gap starts on one day, something changed that day, often a plugin update, a host move or a change to your email or domain settings.
Why do contact form emails go to spam or get rejected?
Usually because the email isn’t authenticated: the website sends it in your domain’s name without your domain saying that server is allowed to. Gmail requires every sender to set up SPF or DKIM for their domain, and says unauthenticated messages “might be marked as spam or rejected” (Gmail email sender guidelines). Google adds that if your third-party senders aren’t in your SPF record, their messages are more likely to be marked as spam.
These three setups cause most of the trouble on the small business sites we work on:
- The form sends “from” the customer’s address. When the enquiry appears to come from the visitor’s Gmail or Outlook address, your website is claiming to be someone else. Google’s guidelines say not to impersonate other domains or senders without permission, and that Gmail might mark those messages as spam. For DMARC to pass, the domain that authenticates the email has to match the domain in the From line, which your website can never do for a customer’s Gmail address.
- WordPress sends from an address that doesn’t exist. If nothing else is set, WordPress sends as wordpress@ your domain, and the WordPress code itself notes that some hosts block outgoing mail from this address if it doesn’t exist (wp_mail() reference).
- Your email moved but the website didn’t. A switch to Google Workspace or Microsoft 365 usually means a new SPF record. If that record only lists the new email provider, mail sent by your web host or form service is no longer on the approved list.
How do I fix a WordPress contact form that isn’t sending emails?
Send the form’s emails through a proper email service with your own domain in the From line, instead of relying on your web host’s built-in mail. Google’s own troubleshooting guide for contact form messages, written for Workspace admins, follows the same route and suggests an SMTP plugin for Contact Form 7 (Troubleshoot Gmail not getting contact form messages).
- Set the From address to a real mailbox on your domain, such as enquiries@ your domain. Put the customer’s email in the Reply-To field so hitting Reply still goes to them.
- Pick how the site will send. Either your email provider’s SMTP relay with a username and password, or a transactional email service that signs mail with DKIM. Ask the provider which method it uses, as Google’s guide recommends.
- Install an SMTP plugin and enter that provider’s details. If the provider uses SMTP credentials, check the username and password at the provider’s end; Google notes wrong credentials as a common cause.
- Update DNS. Add the provider to your SPF record with an include: entry, and add its DKIM key and selector if it uses DKIM. Google’s guide shows the pattern, for example adding a provider’s include alongside include:_spf.google.com in one record.
- Send a test from the plugin, then a real test through the form from your phone, and check it arrives in the inbox, not spam.
Step 4 needs access to your domain’s DNS. If your old web designer holds the domain or hosting and won’t hand it over, sort that first; we cover how in my web designer won’t give me access to my website.
A “message sent” note on screen doesn’t confirm delivery either. The WordPress documentation says a true result from its mail function “does not automatically mean that the user received the email successfully” (wp_mail() reference), so judge every test by what reaches the inbox.
What if my site is on Wix, Squarespace or Shopify?
On hosted builders the sending is handled for you, so start with who the notifications go to and whether they are switched on.
- Squarespace: email notifications go to the account email of the person who added the form unless someone changed it. To change it, open the Pages panel, click the page, click Edit, click the form block, click the pencil icon and edit the address under Email Notifications. Squarespace also says email notifications are disabled on trial sites, with an exception for Circle partners (Squarespace Help Center).
- Shopify: contact form submissions go to the store’s sender email address, which you change on the Notifications settings page in your Shopify admin. If you use your own domain for that address, Shopify notes you may need to authenticate it (Shopify Help Center).
- Wix: your submissions table shows whether entries are arriving (Wix Help Center). If they are, check who gets the email: in your dashboard open Automations, hover over the form’s notification automation, click More Actions, then Edit, select Send an email, click Show additional settings and edit Recipients (Wix Help Center).
Could my email provider be hiding them?
Yes, and it’s worth checking before you change anything on the website. Gmail puts suspect messages in Spam. Microsoft 365 can hold them in quarantine, which users can open at security.microsoft.com/quarantine; Microsoft warns that quarantined messages expire, and once a message expires you can’t recover it (Microsoft quarantine FAQ).
If you use Google Workspace, your admin can search Email Log Search for a test message and see what happened to it. Google says an error starting 550-5.7.26 about your domain’s DMARC policy usually means your SPF record doesn’t include all your senders (Google Workspace Admin Help).
Releasing a message or marking it “not spam” rescues that one enquiry. The next one can still be filtered until the sending is authenticated.
How do I make sure I never miss a form enquiry again?
Keep a copy of every submission on the site, send notifications to two people, and test the form on a schedule. A checklist for a busy owner:
- Your form tool stores every entry on the site (or you’ve added Flamingo to Contact Form 7).
- Notifications go to two addresses, for example the office inbox and the owner’s.
- The From address is on your own domain and the customer’s email is in Reply-To.
- Your SPF record lists every service that sends email for your domain, and DKIM is on where the provider supports it.
- You submit a test enquiry once a month and after any plugin update, host move, email provider change or DNS change.
- Your phone number is visible next to the form, so an urgent customer can still reach you if email fails.
- Someone compares the stored entries with the inbox once a month and calls back anything missed.
Missed form emails can make a site with steady visitors look like it brings in nothing. If the form works and enquiries are still thin, the next place to look is why a website gets traffic but no leads.
Common mistakes, and the fix for each
- Testing with the same address the form sends to. You learn more from a test that matches a real customer. Use a separate personal address on your phone.
- Replacing your SPF record when you add a service. Add the new provider with another include: in the same record, as Google’s examples do, so the services already listed stay approved.
- Assuming a thank-you message means you got it. It only means the website accepted the form.
If you’d rather have someone check the whole path from form to inbox, our websites team builds and fixes small business sites so that each enquiry is saved on the site and reaches the right inbox, including the leads your ads pay for.
FAQ
Why does my form say “message sent” but I get nothing?
The message only confirms the website accepted the form. The notification email can still be blocked by your host, filtered as spam or rejected for failing authentication, so check the stored entries and your spam folder.
Should my contact form email come from the customer’s address?
No. Send it from an address on your own domain and put the customer’s address in Reply-To. Google’s guidelines warn that sending as other domains without permission can get messages marked as spam.
Can I use my Gmail address as the form’s From address?
It’s best avoided. Your website’s server can’t authenticate mail for gmail.com, so DMARC can’t pass for that From line. Use a mailbox on your own domain and forward it to Gmail if you like.
Why did my contact form stop working when nothing changed?
Something usually did change: a plugin or theme update, a host move, or a new SPF record after moving to Google Workspace or Microsoft 365. Check the date the gap in your stored entries began and match it to those events.
How often should I test my website contact form?
Once a month, and straight after any plugin update, hosting change, email change or DNS change. It takes five minutes and catches the problem before weeks of enquiries go missing.
Sources: 1. Email sender guidelines (Gmail Help). 2. Troubleshoot Gmail not getting contact form messages (Google Workspace Admin Help). 3. wp_mail() (WordPress Developer Resources). 4. Save submitted messages with Flamingo (Contact Form 7). 5. Where does WPForms data go (WPForms). 6. Managing entries (Fluent Forms docs). 7. Reviewing entries (Gravity Forms docs). 8. Viewing your Wix Forms submissions table (Wix Help Center) and choosing who gets notified (Wix Help Center). 9. Managing form and newsletter storage (Squarespace Help Center). 10. Add a contact page to your store (Shopify Help Center). 11. Quarantined messages FAQ (Microsoft Learn).
