Why Your Sales Emails Go to Spam: SPF, DKIM and DMARC Setup So Quotes Reach the Inbox
Sales emails and quotes go to spam mostly because the receiving server cannot confirm that your domain really sent them, or because your domain has no track record of sending clean mail. Setting up SPF, DKIM and DMARC on your domain fixes the first cause and is usually faster than any workaround on the sender's side.
This matters most for quotes: a client who never sees your offer will not answer it, and you will not know why. Below is a practical setup, a way to test it, and the habits that still cause trouble after the DNS records are correct.
What SPF, DKIM and DMARC actually do
All three are short text records in your domain's DNS. They let a receiving mail server check your message instead of guessing.
- SPF lists the services that are allowed to send email for your domain (for example Google Workspace, Microsoft 365, your CRM).
- DKIM adds a cryptographic signature to each message, so the receiver can see it was not altered and that your domain approved it.
- DMARC tells receivers what to do when SPF or DKIM checks fail, and sends you reports about who is sending mail as your domain.
Without them, your message looks the same as a forged one. Mailbox providers treat unauthenticated mail from business domains with suspicion, and a quote with a PDF and a price in it already looks a bit like a phishing attempt to a filter.
Step by step: set up email authentication
You need access to your DNS (usually at your domain registrar or hosting provider) and to the admin area of your email provider. If that is an IT contractor, send them this list.
1. List everything that sends email as your domain
Your main mailbox is the obvious one. Then add the others: the CRM (Pipedrive, HubSpot), the invoicing tool (Xero, QuickBooks), the website contact form, a newsletter tool. Each one that sends as @yourdomain.com must be covered.
2. Publish one SPF record
A domain should have a single SPF record. Two separate records break the check. Combine all senders into one line, for example:
v=spf1 include:_spf.google.com include:spf.protection.outlook.com ~all
That example is only a shape. Use just the include entries your providers tell you to use, not both. Also keep the number of DNS lookups within the limit that SPF allows; too many includes make the record fail.
3. Switch on DKIM for every sender
In Google Workspace or Microsoft 365, generate the DKIM key in the admin console and publish the record they give you. Then do the same in your CRM or invoicing tool, where it is usually called "domain authentication" or "custom sending domain".
4. Add DMARC in monitoring mode
Start with a policy that only observes, and point the reports to a mailbox you actually read (use a real address on your own domain):
v=DMARC1; p=none; rua=mailto:your-reporting-mailbox
Read the reports for a few weeks. If a legitimate sender fails, fix it. Once everything passes, move to a stricter policy (quarantine, later reject) so that forged mail in your name is blocked. Do this gradually, because a strict policy applied too early can block your own invoices.
How to test that it works
Do not assume the records are right because the DNS panel saved them.
- Send a normal quote-style email from your mailbox to a personal Gmail address.
- Open it, choose "Show original" and look for SPF, DKIM and DMARC marked as pass.
- Repeat for every other sender: send a test from the CRM and one from the invoicing tool.
- Check from a second provider too, such as an Outlook.com address, because filters differ.
- Look at the DMARC reports after a week for senders you forgot.
If one check fails, the header usually tells you which. A common reason is that the CRM sends on your behalf but its DKIM was never published.
What still triggers spam filters after the DNS is correct
Authentication proves who you are. It does not prove the message is welcome. If quotes still land in spam, look at the content and sending habits:
- A new or rarely used domain. Reputation builds slowly. Do not send a large batch from a new domain on day one.
- Heavy formatting. Many images, tracking links, link shorteners and a large attachment in the very first message to a stranger all count against you.
- Mismatched names. A From address on one domain and a reply-to or links on a completely different one look suspicious.
- Cold starts to old lists. Mail to addresses that bounce or never engage hurts the whole domain.
- Wording that reads like a promotion. A plain, specific cover email is safer than a flyer.
For the structure of a clean, plain message, see our guide to a cover email for a quote. If your first reply is a short question rather than a full price list, the price enquiry reply template is a lighter first message that tends to get a human reply, and replies improve how filters see your domain.
A short checklist for when a quote goes missing
- Ask the client to check spam and any "promotions" or quarantine view, and to mark your message as not spam.
- Confirm the SPF, DKIM and DMARC result on a test message to the same provider the client uses.
- Check whether the quote was sent from the CRM or from the mailbox, and whether that sender is authenticated.
- Try sending the quote as a link or without the attachment, with a short plain-text cover message.
- Pick up the phone if the quote is time-sensitive. Do not wait for the next follow-up.
This is also why follow-ups matter. A quote that never arrived looks exactly like a quote that was ignored, so a timely reminder finds the problem early. Our three follow-up templates and the answer on how to stop forgetting quote follow-ups cover the timing.
Where BOTrento fits in
To be clear about scope: BOTrento does not configure your DNS and does not send email itself. BOTrento Chief of Staff watches enquiries and quotes in your mailbox and uploaded data, shows a daily overview of what needs attention, and prepares drafts of replies, quotes and follow-ups in four languages. A person on your team approves every draft and sends it from your own mailbox. Nothing goes out without that approval.
That has a practical effect on deliverability. Because the message leaves from your own authenticated domain, the setup in this article is what protects it. And because BOTrento records promises such as "I'll send it by Friday" and reminds you, a quote that seems to have vanished gets noticed sooner instead of weeks later.
You can see how this works in the process demo. The 14-day free trial needs no payment card and no API key of your own. The 14 days start when you first upload data or connect a mailbox, and our team contacts you within 24 hours on working days to help with the connection. If you want to compare plans, see the pricing page. If your work is event production, see how it fits event and production firms, where quotes are often sent under time pressure.
FAQ
Why do my sales emails go to spam even though they are legitimate?
Usually because the domain has missing or broken SPF, DKIM or DMARC records, a weak sending reputation, or content that looks promotional. Check authentication first, since it is the quickest fix.
Do I need SPF, DKIM and DMARC all together?
Yes, they work as a set. SPF and DKIM authenticate the message, and DMARC tells receivers what to do when those checks fail and reports on misuse of your domain.
How can I check my SPF and DKIM setup?
Send a test message to a personal Gmail address, open it and choose "Show original". It shows whether SPF, DKIM and DMARC passed. Repeat for each tool that sends as your domain.
Can I send quotes from my CRM and my mailbox on the same domain?
Yes, but each sender must be authorised in SPF and signed with DKIM. Combine them in a single SPF record and publish the DKIM record each tool gives you.
Should I set DMARC to reject straight away?
No. Start with a monitoring policy, review the reports, fix any legitimate sender that fails, and tighten the policy step by step. If your setup is complex, ask your IT provider.
Summary
- Spam placement is often a missing authentication problem: set up SPF, DKIM and DMARC on your domain.
- Cover every sender: mailbox, CRM, invoicing tool and website forms, with one SPF record.
- Start DMARC with monitoring and tighten it gradually.
- Test with a message to Gmail and check the "Show original" results.
- Keep quote emails plain, and follow up so a lost message is noticed early.
Try BOTrento free for 14 days
See which enquiries and quotes in your mailbox need attention today. Start the 14-day free trial on your own data and a person from our team will help you connect your mail. Fill in a few details and your access arrives by email right away. We are happy to help you connect your mailbox.
14 days free, no card and no API key of your own. The trial starts only once your data is first loaded. Then from €79 per month excl. VAT, AI included.
Nothing is sent without your approval. You add a card at the end, only if you continue; without payment access is blocked until you pay, we keep your data for 30 days and the export stays available. Pricing · See the process demo
Thank you, we have your sign-up.
We have sent a sign-in link and first steps to your email. If it does not arrive within a few minutes, please check your spam folder.