Contact form emails going to spam? Fix it
Contact form emails going to spam? Learn why form notifications land in the spam folder and how to fix it with allowlisting, filters and cleaner content.
If your contact form emails are going to spam, the quickest fix is to teach your inbox that they’re wanted: mark one as “Not spam”, add the sender to your contacts, and create a filter that never sends them to spam. If the form sends mail from your own server, also check the domain’s email authentication (SPF, DKIM and DMARC), because unauthenticated mail is a common reason filters distrust it. This guide covers both, plus the less obvious causes.
This post is about genuine notifications that land in your spam folder. If your problem is junk messages arriving through the form, read stop form spam without annoying visitors instead.
Why form notifications end up in the spam folder
Spam filters judge each message on many signals. Form notifications are an easy target for a few reasons:
- They look automated. The same sender, the same layout, often many times a day.
- The content is written by strangers. A visitor’s message may contain links, sales language or odd formatting, and the filter reads that as if you were sending it.
- The sender may not be authenticated. A script on a web host that sends mail “from” your domain without SPF or DKIM records looks exactly like a forgery.
- The “from” address claims to be the visitor. Some scripts put the visitor’s address in the From header. Their domain never authorised your server to send for them, so filters treat it as spoofing.
- Your inbox has learned the wrong thing. If you, or anyone sharing the mailbox, once marked a notification as spam, similar messages follow it there.
- A company mail gateway is stricter. Work inboxes often quarantine messages before you ever see them.
Step-by-step fixes
Work through these in order. The first three solve most cases in a few minutes.
- Find one notification and mark it “Not spam”. This is the strongest signal you can give your mail provider.
- Add the sender address to your contacts or safe senders list. Most providers deliver mail from contacts to the inbox.
- Create a filter. In Gmail, Outlook and most others you can filter by sender or subject and choose “Never send to spam”. Using a fixed subject makes this easy (see below).
- Check quarantine on work accounts. If you use a company or school mailbox, ask whoever manages it to allow the sender. Messages may be held before reaching your spam folder.
- Check everyone who receives notifications. Each person’s inbox learns separately, so each recipient may need to mark the sender as safe.
- If you send from your own server, set up authentication. Add SPF and DKIM records for the sending domain, publish a DMARC policy, and never put the visitor’s address in the From header. Use Reply-To instead.
Give notifications a fixed subject
A consistent subject line makes filtering reliable and makes notifications easy to spot. With FormDoc, add a hidden subject field:
<input type="hidden" name="subject" value="Website enquiry: example.com">
Then create a rule in your mail app: subject contains “Website enquiry”, never send to spam, maybe apply a label. If you have several forms, give each its own subject so you can sort them.
You can also add from_name to set the name shown in your inbox, which helps you recognise notifications at a glance.
Keep visitors in Reply-To, not From
A form notification is sent by a service on your behalf. The visitor’s address belongs in the Reply-To header, so that pressing Reply answers them, while the From address stays with the sender that is actually allowed to send. FormDoc works this way: it sets Reply-To to the email the visitor typed into the form. You still reply with one click, and filters don’t see a forged sender.
If you wrote your own mail script, this is the single most important change to make.
Cause and fix at a glance
| Symptom | Likely cause | Fix |
|---|---|---|
| Every notification goes to spam | Inbox hasn’t learned the sender | Mark as not spam, add to contacts, create a filter |
| Only some notifications go to spam | Visitor content looks spammy (links, sales words) | Filter by subject; content you can’t control is expected to vary |
| Nothing arrives, not even in spam | Work account quarantine, or the form isn’t sending | Check with your mail admin; send a test submission |
| Notifications from your own script land in spam | Missing SPF, DKIM or DMARC, or visitor address in From | Authenticate the domain; move visitor to Reply-To |
| Started recently after working fine | Someone marked one as spam | Mark several as not spam and recheck the filter |
| One teammate gets them, another doesn’t | Each inbox filters separately | Each recipient allowlists the sender |
Fewer emails, fewer chances to misfile
Filters are more suspicious of lots of near-identical automated mail. If your form is busy, you may not need an email for every single submission. In FormDoc you can choose, per form, an email for each submission, a daily summary (around 8 am in the form’s time zone), a weekly summary on Mondays, or no email at all.
It also helps that spam submissions are filtered out before notifications go out. FormDoc never emails submissions it has flagged as spam, so the messages reaching your inbox are mostly from real people, which keeps your filter’s view of the sender clean.
When nothing arrives at all
If you can’t find the notification in your inbox, spam folder or quarantine, the problem may be the form, not the email. Common causes:
- The form’s
actionpoints somewhere that doesn’t send mail, such as amailto:link (see the mailto form guide). - The access key in the HTML is wrong or was copied incompletely.
- The submission was caught as spam because a test message used links or obvious test text.
Send a plain, realistic test message from the live page. If you built the site with an AI tool, why an AI-built form isn’t sending email covers the usual setup mistakes.
Common questions
Why do only some of my form emails go to spam?
Spam filters read the content of each message, and that content comes from your visitors. A message with several links or sales-style wording is more likely to be filtered than a short question. A filter on a fixed subject line is the most reliable way to keep all of them in your inbox.
Should I put the visitor’s email in the From field?
No. Your server or form service isn’t allowed to send as the visitor’s domain, so filters see it as spoofing. Put the visitor’s address in Reply-To. You can still reply with one click.
Will a daily summary stop notifications going to spam?
It reduces how many similar messages you receive, which can help, but the first step is still to mark the sender as safe. A summary is mainly useful for busy forms where an email per submission is too much.
Next step
Most of these fixes take a few minutes and only need doing once. The FAQ answers other common setup questions, and if you’re starting fresh, you can get a free key at https://app.formdoc.dev/new.