Booking confirmation emails going to spam? Fix your sender domain
Why scheduling emails get junked and how to fix it: SPF, DKIM, DMARC alignment, a dedicated sending subdomain, and header checks that prove it worked.
Short answer: Booking confirmations land in spam when the sending domain has no SPF, DKIM, and DMARC alignment, or when the tool sends "from" your address without authorisation to do so. Fix it by sending from a subdomain you control (for example notify.yourdomain.com), publishing the DNS records the provider gives you, and setting a DMARC policy. Deliverability recovers within a day or two.
Why it happens
Gmail and Microsoft both require bulk senders to authenticate. Three records matter:
- SPF — a TXT record listing which servers may send for the domain.
- DKIM — a public key so the receiver can verify the message signature.
- DMARC — a policy telling receivers what to do when SPF or DKIM fails, and where to send reports.
Spoofing your own address is the classic failure: the tool sets From: you@yourcompany.com but sends from its own infrastructure, so DKIM does not align and DMARC fails. Gmail junks it, Microsoft may drop it silently.
Fix it, step by step
- Pick a dedicated sending subdomain —
notify.yourdomain.com. Never use your primary domain for automated mail while you are still tuning. - In IntoCal, open Dashboard → Settings → Email domain and add it. You get an SPF value, a DKIM key, and a return-path record.
- Add all three records at your DNS host exactly as shown. Do not merge two SPF records — a domain may only have one.
- Wait for verification (usually minutes; allow up to a few hours for slow DNS).
- Publish DMARC on the root domain:
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com. Start atp=none, read the reports for two weeks, then move toquarantine. - Send a test booking to a Gmail and an Outlook address. Open the raw headers and confirm
spf=pass,dkim=pass, anddmarc=pass.
If mail still lands in spam
| Symptom | Cause | Fix |
|---|---|---|
| dkim=none in headers | DKIM record not published or truncated | Re-paste the key; some DNS hosts split long TXT values incorrectly |
| spf=softfail | Two SPF records on the domain | Merge into one record with both includes |
| Passes auth, still junked | Cold subdomain with no reputation | Warm up: low volume for a week, and make sure recipients open |
| Only Outlook junks it | Microsoft treats new senders harshly | Ask recipients to mark as not junk; consider a Microsoft sender complaint feedback loop |
| Guest never got the confirmation link | Message bounced, not junked | Check the email log in the dashboard for the bounce reason |
What good looks like
Authenticated subdomain, one SPF record, aligned DKIM, DMARC at least at p=none with reports going somewhere a human reads, and a reply-to pointing at a real mailbox. Get that right once and booking confirmations, reminders, and reschedule notices all inherit it.
Frequently asked questions
Why do my booking confirmation emails go to spam?
Usually because the sending domain lacks aligned SPF and DKIM, or the tool sends 'from' your address without authorisation, so DMARC fails and Gmail junks the message.
Should I send from my main domain or a subdomain?
Use a subdomain like notify.yourdomain.com. It isolates automated mail reputation from your human mailbox, so a bad week for one does not damage the other.
How long does DNS verification take?
Usually a few minutes. Allow up to a few hours on slow DNS hosts. Deliverability normally recovers within a day or two of passing authentication.
Can I have two SPF records?
No. A domain may publish only one SPF TXT record. Merge all includes into a single record or receivers will return softfail.
What DMARC policy should I start with?
Start at p=none with a reporting address, read the aggregate reports for about two weeks, then move to quarantine once everything legitimate passes.
The guest never got the confirmation link — is that spam?
Not always. Check the email log in the dashboard: a hard bounce shows a different reason, such as a mistyped address or a rejecting mail server.
Related guides
Add-to-calendar widget for your website: a practical .ics guide
Build an add-to-calendar widget for your website using an .ics file. Handle timezones, test imports, and understand why saving an event is not a booking.
Editable calendar widget for websites: events or appointments?
Choose an editable calendar widget for your website: update public events or booking availability, manage permissions, and avoid maintaining duplicate schedules.
Make scheduling simpler.
Outlook-first booking with a free-forever plan.
Try IntoCal freeRead next
Why your booking link shows no available times
