Blog · Deliverability
Why Your Emails Go to Spam Despite SPF, DKIM, and DMARC Passing
If you have set up SPF, DKIM, and DMARC and your emails still go to spam, the problem is not your DNS records. Email authentication and email deliverability are two separate systems. Authentication tells a receiving server who you claim to be. Deliverability tells it whether it trusts you enough to put your message in the inbox.
This distinction trips up most people in this situation. They confirm their records are correct and then watch their emails land in spam anyway.
The alignment gap that silently hurts deliverability
DMARC requires more than SPF or DKIM passing. It requires alignment. That means the domain that authenticated via SPF or DKIM must match the domain in the From header of your email.
Here is the common scenario: you send email through Google Workspace or Microsoft 365. Your SPF record covers your sending infrastructure, DKIM is signed correctly, and both pass. But the From header shows your marketing domain or your CRM's sending domain. When the receiving server checks DMARC alignment, SPF and DKIM authenticated a different domain than the one shown in the From line. DMARC fails in alignment even though both SPF and DKIM individually pass.
This is why setting DMARC to p=none does not solve spam filtering. It only tells receiving servers not to act on DMARC failures. The alignment gap still exists. The receiving server still applies its own spam filters based on reputation and content, and your email can still land in spam.
Why SPF pass matters less than it used to
Gmail and other large providers have increasingly deprioritized SPF as a signal in their spam scoring. The reason is straightforward: SPF is easy to spoof. Anyone can send email claiming to be from your domain and pass SPF if they happen to send from your authorized IP ranges. Google has published data showing spoofed domains routinely pass SPF checks, which led them to treat SPF pass with more skepticism in their spam filters. This does not mean SPF is irrelevant, but it does mean a valid SPF record alone will not protect your deliverability.
DKIM is harder to fake because it requires a cryptographic signature tied to your private key. When DKIM passes and aligns with your From domain, it carries more weight than SPF alone. If you are relying primarily on SPF and seeing deliverability problems, that imbalance is worth investigating.
Third-party senders breaking your alignment
If you use any third-party service to send email on your behalf, you have a potential alignment problem whether you realize it or not. Marketing automation platforms, CRM tools, billing systems, and support platforms often send from their own infrastructure using your domain in the From header. Their servers are not in your SPF record. Their DKIM signatures use their keys, not yours.
The result is a perfect alignment failure: your From domain shows your brand, but the authentication systems saw someone else's domain. DMARC reports will show these failures, but most people are not reading them.
The fix is not to add every third-party service to your SPF record. That approach quickly creates an unmanageable SPF record that exceeds the 10 DNS lookup limit. Instead, use dedicated sending subdomains for each third-party service. If your primary brand domain is example.com, use marketing.example.com for your marketing platform and billing.example.com for your billing system. Each subdomain gets its own SPF and DKIM configuration, which keeps your main domain's authentication clean and gives you granular visibility into which service is sending what.
Content and recipient signals that authentication cannot touch
Even with perfect alignment, emails go to spam for reasons entirely outside email authentication. A receiving server evaluates hundreds of signals:
- recipient engagement history with your emails
- complaint rates (when recipients mark your email as spam)
- sudden volume changes that look like spikes
- suspicious URL patterns in your email body
- mismatch between your email's language and what the recipient typically engages with
- whether the recipient explicitly added you to their contact list
These factors can easily override a clean authentication result. A new sender with no reputation, sending to a cold list, will often land in spam regardless of whether their SPF, DKIM, and DMARC are all configured perfectly.
How to diagnose what is actually happening
The fastest way to understand your deliverability problem is to read your DMARC aggregate reports. They show exactly which failing sources are sending on your behalf, which authentication results are alignment failures versus actual failures, and which receiving servers are treating your mail with more or less skepticism.
If you are not reading your DMARC reports, you are missing the clearest signal of what is actually happening with your email authentication. DMARC reports show alignment failures, failing sources, and receiving server behavior that no other tool captures.
Beyond DMARC reports, check Google Postmaster Tools if you send to Gmail addresses. It shows your domain reputation, authentication rates, and spam rates as Gmail sees them. Microsoft offers SNDS for similar data on Outlook and Hotmail delivery. Both are free.
How DMARCFlow fits
DMARCFlow processes your DMARC aggregate reports automatically and surfaces alignment failures and authentication gaps in a dashboard that shows you exactly which sending sources are failing DMARC and why. It flags the specific IPs, the domains they are sending on behalf of, and whether the failure is an alignment problem or a hard authentication failure. For most teams, raw DMARC reports sit in an inbox nobody opens. DMARCFlow gives you the signal without requiring you to parse XML.
If you have set up SPF, DKIM, and DMARC and are still seeing deliverability problems, your DMARC reports almost certainly contain the answer. The alignment failures and authentication gaps that cause inbox placement problems are all recorded there.
FAQ
Does passing SPF mean my email will be delivered to inbox?
No. SPF passing only confirms that the sending server's IP is authorized for the RFC5321.MailFrom domain. It says nothing about whether the From header domain is authorized. A receiving server can still route your message to spam based on reputation, content, or other signals.
Why does DKIM pass but email still go to spam?
DKIM passing means the email was signed by your domain's private key and was not modified in transit. It does not guarantee inbox delivery. If the From header does not align with the DKIM-signing domain, DMARC still fails. And even with valid DKIM alignment, spam filters apply their own reputation and content checks.
What is the difference between email authentication and email deliverability?
Email authentication verifies that an email actually came from the domain it claims to be from. SPF verifies sending server authorization. DKIM verifies the email was not modified. DMARC ties both to the From header domain. Email deliverability is whether the receiving server places the message in the inbox, spam folder, or rejects it entirely. Authentication is a prerequisite, not a guarantee.
How do I check if alignment is causing my spam problem?
Set up DMARC aggregate reports (add an RUAmailto address to your DMARC record) and review them for alignment failures. Look for records where SPF or DKIM pass individually but DMARC shows alignment failures. That is the gap that causes deliverability problems without breaking authentication checks.
Does setting DMARC to p=none fix spam problems?
No. Setting p=none only tells receiving servers not to reject or quarantine messages based on DMARC failures. It does not fix alignment gaps, reputation problems, or content issues. Your email can still land in spam with p=none if other signals trigger spam filters.