How to fix email going to spam folder: Practical Guide
Fix emails landing in spam with SPF, DKIM, DMARC setup, content optimization, and IP reputation management. Step-by-step troubleshooting guide.

On this page
- Understanding why emails go to spam
- Configuring SPF records for sender authentication
- Setting up DKIM and DMARC for domain protection
- Monitoring and improving IP reputation
- Optimizing email content to avoid spam triggers
- Testing and validating email deliverability
- Troubleshooting persistent spam folder issues
TL;DR — Key takeaways
- Configure SPF, DKIM, and DMARC records correctly to authenticate your domain and pass spam filters; missing or misconfigured authentication is the primary cause of legitimate emails going to spam.
- Monitor your sending IP reputation using tools like Google Postmaster and Microsoft SNDS; a damaged reputation from spam complaints or blacklisting will send all your emails to spam regardless of content.
- Avoid spam trigger words, excessive links, and poor formatting in email content; use plain text alternatives, maintain a text-to-image ratio above 60:40, and always include an unsubscribe link.
- Warm up new sending IPs gradually by starting with small volumes to engaged recipients; sudden high-volume sending from a new IP triggers spam filters automatically.
- Test deliverability using seed lists and authentication checkers before launching campaigns; verify SPF, DKIM, and DMARC alignment, then send test emails to multiple providers to identify filtering issues.
When your emails consistently land in spam folders, you lose critical communications with customers, team members, or subscribers. Email deliverability issues stem from authentication failures, poor sender reputation, problematic content, or infrastructure misconfigurations.
This guide walks you through diagnosing why emails go to spam and implementing fixes across authentication records, content optimization, IP reputation management, and sending practices. Each section includes verification steps you can test immediately.
Understanding why emails go to spam
Email providers use layered filtering systems to protect users from unwanted mail. Spam filters evaluate sender authentication, reputation, content patterns, and user engagement signals. A single weak link in this chain can trigger spam classification.
The most common causes include missing or broken SPF, DKIM, or DMARC records, which fail to prove your domain authorized the sending server. IP address reputation damage from spam complaints, blacklisting, or compromised accounts also causes immediate filtering. Content triggers like excessive promotional language, suspicious links, or poor HTML formatting raise red flags. Finally, sending behavior matters: high volumes from new IPs, sudden spikes, or targeting inactive recipients all signal potential spam.
Legitimate email servers route through multiple hops. Authentication breaks if any intermediate server modifies headers or content without proper forwarding setup. This explains why emails work for some recipients but not others.
Configuring SPF records for sender authentication
Sender Policy Framework (SPF) is a DNS record that lists which mail servers can send email on behalf of your domain. Without SPF or with an incorrect SPF record, receiving servers cannot verify your emails are legitimate.
Check your current SPF record using a DNS lookup tool or command line: `dig TXT yourdomain.com` or `nslookup -type=TXT yourdomain.com`. Look for a TXT record starting with 'v=spf1'. If missing, create one. If present, verify it includes all servers that send your email.
A basic SPF record looks like: `v=spf1 mx include:_spf.google.com ~all`. This example authorizes your MX servers and Google Workspace to send mail. The `~all` mechanism is a soft fail, allowing mail through but marking it if it comes from unlisted servers. Use `-all` for strict enforcement only after thorough testing.
Include mechanisms for every service sending email on your behalf: marketing platforms, transactional email services, ticketing systems, and CRMs. Each provider supplies an SPF include statement for their documentation. Chain them with the `include:` mechanism. Keep your SPF record under 10 DNS lookups to avoid validation failures; exceed this limit and all SPF checks fail.
- Test SPF immediately after changes using MXToolbox SPF checker or dmarcian's SPF surveyor
- Never create multiple SPF records; merge all mechanisms into one TXT record
- Document every included domain and the service it represents for future audits
- Set up monitoring to alert when SPF lookups approach the 10-lookup limit
Setting up DKIM and DMARC for domain protection
DomainKeys Identified Mail (DKIM) adds a cryptographic signature to outbound emails, proving they were not altered in transit and originated from your domain. DMARC (Domain-based Message Authentication, Reporting, and Conformance) builds on SPF and DKIM by telling receiving servers what to do when authentication fails and providing reporting on all email claiming to be from your domain.
Enable DKIM in your email sending platform or mail server. Most hosting control panels and email services provide a DKIM generation tool that creates a public/private key pair. The private key stays on your sending server; the public key is published as a DNS TXT record at a subdomain like `default._domainkey.yourdomain.com`.
After publishing the DKIM DNS record, verify it with `dig TXT default._domainkey.yourdomain.com` or your provider's verification tool. Send a test email to a mailbox you control and inspect the headers for 'DKIM-Signature' and 'Authentication-Results' showing 'dkim=pass'.
Create a DMARC policy at `_dmarc.yourdomain.com` with a TXT record like: `v=DMARC1; p=none; rua=mailto:[email protected]`. Start with policy `p=none` to monitor without affecting delivery. This generates aggregate reports showing all email sent from your domain and authentication results. After verifying legitimate sources pass SPF and DKIM, gradually move to `p=quarantine` then `p=reject` to protect your domain from spoofing.
- Use a 1024-bit or 2048-bit DKIM key; shorter keys are considered weak
- Rotate DKIM keys annually and maintain two selectors for zero-downtime updates
- Set up a dedicated mailbox for DMARC reports and use a parsing service if volume is high
- Achieve DMARC alignment by ensuring the 'From' domain matches the SPF and DKIM signing domains
Monitoring and improving IP reputation
Your sending IP address carries a reputation score based on historical sending behavior. Spam complaints, bounces, blacklist appearances, and engagement rates all contribute. A damaged reputation causes immediate spam folder delivery regardless of authentication or content.
Check your IP reputation at Google Postmaster Tools (requires domain verification and sufficient sending volume), Microsoft SNDS (Smart Network Data Services), and Sender Score by Validity. Query major blacklists using MXToolbox Blacklist Check or MultiRBL. If blacklisted, follow the delisting process for each list, which typically requires explaining the issue, confirming it is resolved, and waiting 24-48 hours.
Common reputation damage comes from compromised email accounts sending spam, sudden volume spikes that look like a spam campaign, or purchased lists with spam traps. Clean your list regularly by removing bounces, honoring unsubscribes immediately, and re-engaging inactive subscribers before removing them.
For new IPs or domains, implement IP warm-up by starting with small volumes to your most engaged recipients and gradually increasing over 4-6 weeks. This builds a positive reputation history. Dedicated IPs give you full control over reputation but require enough volume to maintain warm; shared IPs pool reputation across users.
- Monitor complaint rates; keep below 0.1% to avoid reputation damage
- Process bounces immediately and remove hard bounces from your list
- Implement double opt-in for subscriptions to ensure clean, engaged lists
- If migrating to a new IP, maintain sending on the old IP while warming the new one
Optimizing email content to avoid spam triggers
Email content filtering analyzes subject lines, body text, HTML structure, links, and attachments. Certain patterns consistently trigger spam filters even from authenticated senders with good reputations.
Avoid spam trigger words in subject lines and opening paragraphs: 'free', 'urgent', 'limited time', 'guaranteed', 'click here', excessive punctuation, or all caps. While no single word guarantees spam classification, combinations raise suspicion scores. Write clear, descriptive subject lines that match the email body content.
Maintain a text-to-image ratio of at least 60:40. Image-only emails trigger filters because spammers use them to bypass content filters. Always include plain text alternatives for HTML emails using multipart MIME. Avoid large images, excessive colors, or complex layouts that resemble promotional spam.
Limit links to reputable domains. Too many links, shortened URLs, or links to domains with poor reputations trigger filters. Use full HTTPS URLs with visible anchor text. Never link to IP addresses. Include an unsubscribe link in every bulk email; CAN-SPAM and GDPR require it, and its absence is a strong spam signal.
- Test content using tools like Mail-Tester or GlockApps before sending
- Keep email size under 100KB; larger messages trigger filtering and load slowly
- Use standard web-safe fonts and avoid embedding unusual fonts
- Include a physical mailing address in transactional and marketing emails
Testing and validating email deliverability
Systematic testing catches deliverability problems before they affect real recipients. Create a seed list with addresses at major providers: Gmail, Outlook, Yahoo, Apple, and your industry-specific providers. Send test emails to this list and check inbox placement, spam classification, and authentication results.
Use authentication testing tools to verify SPF, DKIM, and DMARC alignment. Send a test email to [email protected] and you will receive a detailed analysis of authentication results. Google's Gmail authentication checker and Microsoft's authentication feedback loop provide similar validation.
Monitor bounce messages carefully. Hard bounces (mailbox does not exist) should be removed immediately. Soft bounces (mailbox full, temporary server issues) warrant retry logic but should be removed after repeated failures. Authentication failures in bounce messages indicate DNS or configuration problems.
Implement feedback loops with major providers to receive notifications when recipients mark your email as spam. This allows you to remove uninterested recipients proactively and investigate what triggered the complaint.
- Set up regular deliverability tests on a schedule, not just before major campaigns
- Track inbox placement rates by provider to identify specific filtering issues
- Use email preview tools to verify rendering across different clients and devices
- Document baseline deliverability metrics to measure the impact of changes
Troubleshooting persistent spam folder issues
If emails continue going to spam after implementing authentication and reputation improvements, investigate provider-specific issues and recipient behavior patterns.
Review Google Postmaster data for domain reputation, IP reputation, spam rate, and feedback loop metrics. A 'Bad' or 'Low' domain reputation requires focused list cleaning and engagement improvement. Check Microsoft SNDS for similar insights into Outlook delivery.
Contact recipient IT teams for enterprise domains with consistent spam issues. They may have strict content filters, custom block rules, or require whitelisting. Provide your SPF, DKIM, and DMARC records for their review. Enterprise filters often require manual approval for bulk senders.
Segment your list by engagement and send only to recipients who opened or clicked in the past 90 days. Re-engagement campaigns for inactive subscribers should be sent separately with clear opt-out options. Providers measure engagement rates; sending to unengaged recipients damages your reputation and causes spam filtering.
For transactional emails going to spam, ensure you are using a dedicated sending domain separate from marketing email. Transactional domains should have strict DMARC policies and low volume to maintain pristine reputations. Route password resets, order confirmations, and system notifications through this separate infrastructure.
- Document all troubleshooting steps and results for pattern analysis
- Isolate variables by testing one change at a time and measuring impact
- If using a shared IP, consider migrating to a dedicated IP if volume supports it
- Review logs for relay issues, authentication errors, or intermediate server modifications
Quick troubleshooting checklist
- Verify SPF record exists and includes all authorized sending servers
- Publish DKIM public key in DNS and enable DKIM signing in mail server or platform
- Create DMARC policy starting with p=none and configure report receiving
- Check IP reputation at Google Postmaster, Microsoft SNDS, and blacklist databases
- Remove hard bounces and unsubscribes from email list immediately
- Test email content using spam checking tools before bulk sending
- Send test emails to seed list across major providers and verify inbox placement
- Verify DMARC alignment by confirming From domain matches SPF and DKIM domains
- Implement email list segmentation to send only to engaged recipients
- Monitor complaint rates and feedback loops to catch reputation issues early
- Document authentication configuration and test results for ongoing audits
FAQ
Why do my emails go to spam even with SPF and DKIM configured?
SPF and DKIM alone do not guarantee inbox delivery; you also need DMARC alignment, good IP reputation, clean list hygiene, and content that avoids spam triggers. Verify your DMARC policy is published, check your sender reputation at Google Postmaster Tools and Microsoft SNDS, and test your email content for spam patterns. Authentication proves you sent the email, but reputation and content determine whether it is wanted.
How long does it take to fix email deliverability after implementing authentication records?
DNS propagation for SPF, DKIM, and DMARC records completes within 24-48 hours, but reputation recovery can take 2-6 weeks depending on the severity of previous issues. Start with DMARC in monitoring mode (p=none) for at least one week to collect data. Clean your list, remove bounces, and send only to engaged recipients during recovery. Providers update reputation scores gradually based on ongoing behavior, not single changes.
What should I do if my IP address is blacklisted?
Identify which blacklists contain your IP using MXToolbox or MultiRBL, then visit each blacklist's website to request delisting. Most require you to explain the cause (compromised account, purchased list, configuration error), confirm it is fixed, and submit a delisting request. Delisting typically takes 24-48 hours. After removal, implement monitoring to detect future blacklist appearances immediately and fix the root cause (weak passwords, open relay, compromised accounts) to prevent recurrence.
Should I use a shared IP or dedicated IP for sending email?
Use a shared IP if you send less than 50,000 emails per month or have inconsistent sending patterns; the shared pool maintains reputation through collective volume. Choose a dedicated IP if you send high volumes consistently (100,000+ monthly), need full reputation control, or send time-sensitive transactional email that cannot afford shared reputation damage. Dedicated IPs require proper warm-up (4-6 weeks) and consistent volume to maintain a positive reputation.
How do I test if my emails will go to spam before sending to my list?
Send test emails to a seed list containing addresses at Gmail, Outlook, Yahoo, and Apple iCloud, then check inbox vs. spam placement at each provider. Use Mail-Tester, GlockApps, or similar tools to analyze spam score, authentication results, and content triggers. Send a test to [email protected] to verify SPF, DKIM, and DMARC pass correctly. Test after any significant content or infrastructure change, not just before major campaigns.
Related articles
- Hosting OperationsSelf-Hosted App Deployment Fails? Check DNS, SSL, Reverse Proxy, and Logs FirstTroubleshoot failed self-hosted app deployments by checking DNS, SSL, reverse proxy routing, container status, logs, and ports.
- Hosting OperationsSelf-Hosted PaaS on a VPS: What to Check Before Installing Coolify, Dokploy, or CapRoverA hosting support checklist for preparing a VPS before installing self-hosted PaaS tools like Coolify, Dokploy, or CapRover.
- Hosting OperationsLinux Server Security Lessons from the Arch Linux Malware Package IncidentPractical Linux server security checklist for VPS admins after package malware concerns, with safe checks, rollback steps, and support guidance.
- Hosting OperationsAWS Lightsail Hong Kong VPS Latency: Practical Hosting Guide for IndonesiaLearn how to test AWS Lightsail Hong Kong VPS latency, compare regions, migrate safely, and troubleshoot hosting performance.
- Hosting OperationsCloudflare Tomorrow Watchlist: A Practical Hosting Operations GuidePractical Cloudflare troubleshooting checklist for DNS, SSL, caching, WAF, origin health, safe testing, and rollback planning.
- Hosting OperationsNetwork Safety Checklist for AI Agent Skills in Hosting OperationsAudit AI agent skills safely with network checks, secret protection, sandbox testing, rollback steps, and hosting support troubleshooting guidance.