Anticode Open builder

Why are my contact form emails going to spam, or not arriving?

Usually because the notification looks like a forgery or like spam to your mail provider: it claims to come from an address it isn't authorised to send for, or it carries the visitor's links and wording straight into your inbox. Sometimes it was never sent at all. Find which by tracing the message from form to inbox, then stop relying on email alone.

Updated · By the Anticode team

Trace it in order

Send a test through your own form, with a recognisable message such as "Test 14:05", and follow it through each stage. Stop at the first stage where it's missing; that's where the problem is.

  1. Did the form accept it? You should see a thank-you page. An error page, or the same form again, means the submission never left the site.
  2. Was it stored? If your form tool keeps submissions in a dashboard, check there. If the test is there, the form works and the problem is delivery.
  3. Was an email sent at all? Check that notifications are switched on and addressed to the right inbox. A typo in the address, or an old address from whoever built the site, is common.
  4. Is it in spam, junk, promotions or quarantine? Search for the exact test text across all folders. Business mail systems may hold it in an admin quarantine you can't see.
  5. Did your mail system reject it? Ask whoever runs your email to check the logs for the time you sent it, or look for a bounce at the sending side.

The usual causes

Causes of missing form notifications and what to do
CauseWhat to do
The email claims to be from the visitor's address, so it fails the visitor's domain checksSend from an address the sending service is authorised for; put the visitor's address in Reply-To instead
The email claims to be from your own domain but is sent by a server your SPF and DKIM don't coverAuthenticate the sending service for your domain, or send from the service's own domain
The message body is spammy because a spammer filled the formReduce spam at the form; see stopping contact form spam
Your filter learned to treat the notifications as junk after you marked a fewMark a genuine one as not spam and add the sender to your contacts or allow list
The notification goes to an address nobody readsUpdate the recipient, and use a shared inbox or alias rather than one person's mailbox
Notifications were switched off or the form tool's plan limit was reachedCheck the settings and the plan's allowance

The first two causes come down to email authentication. Gmail's sender guidelines require senders to authenticate with SPF or DKIM, and messages that claim a domain they can't prove are likely to be filtered or rejected. The SPF, DKIM and DMARC guide explains the records.

Don't depend on one email

Even with perfect authentication, email can be filtered, delayed or missed in a busy inbox. A lead is worth a second route:

  • A dashboard that keeps every submission, so a missing email never means a missing lead. Check it weekly whatever the inbox says.
  • A chat message to Slack, Discord or Telegram, which arrives where you already look during the day.
  • A spreadsheet or CRM row, so every enquiry is in one list you can sort and follow up from.
  • A shared inbox or alias like enquiries@, so holidays and staff changes don't leave messages unread.

Check it's fixed

Send three tests from three different devices and accounts, a few minutes apart, with different wording. All three should arrive in the inbox, not spam, and in your second channel. Open one notification's original headers and look for SPF or DKIM passing. Then repeat the test once a month, or after any change to the site or your email provider; forms often break quietly after unrelated changes.

Common mistakes

  • Testing once with your own address, which your mail system already trusts.
  • Adding a second SPF record for the form service instead of merging it into the first.
  • Turning off spam filtering entirely to let notifications through.
  • Assuming no emails means no enquiries, when the form itself stopped working weeks ago.

Form notifications on Anticode sites

On an Anticode site, contact, booking and newsletter submissions are saved first, sealed at rest, and kept in the project whether or not an email arrives. In the project's Emails section, Email me when a form is sent sends each one to your account's email address. Notifications come from Anticode's own sending address, not your domain, so your domain's SPF and DKIM don't affect them; if they land in spam, mark one as not spam and add the sender to your contacts.

For a second channel, connectors send each submission to Slack, Discord, Telegram, Google Sheets, Airtable, Notion, HubSpot or a webhook. Each submission is sent once, without retries, so a connector that's down at that moment misses it; the saved submission is your record. On the free plan, submissions past the monthly allowance are held rather than sent on, and an upgrade makes them visible in the inbox but never emails them. See form submissions to Slack.

Questions people ask

Should the notification come from the visitor's email address?

No. The sending server isn't authorised for the visitor's domain, so receivers treat it as a forgery. Send from your own or the service's address and put the visitor's address in Reply-To.

Why did my form emails suddenly stop?

Common reasons are a change of email provider, a new SPF or DMARC policy that doesn't include the form service, a changed recipient address, or a plan limit on the form tool.

How do I stop them going to junk?

Mark one as not spam, add the sender to your contacts, and make sure the sender is authenticated. Then add a second channel so you don't rely on the inbox.

Sources

  1. Gmail Help: Email sender guidelines, checked