Guide

Why your emails are not being delivered: 6 causes and the fix

"My emails are not being delivered" is one phrase that covers two different failures. The first is a hard reject: the receiving server reads your message, decides it is not allowed, and bounces it with an error code. The second is a silent route: the server accepts the message and puts it in spam, so you never hear back. The fixes for the two are different, so the first step is always the same: find out which one is happening.

If you are getting bounce emails, read the bounce text. It names the cause almost every time. If nothing is bouncing and open rates just collapsed, you are being filtered silently, and the cause is usually reputation or engagement. Here are the six causes in the order they actually show up.

1. Broken SPF, DKIM or DMARC (the most common cause)

Every major inbox now checks three DNS records before it will accept your mail: SPF says which servers are allowed to send for your domain, DKIM signs each message so the receiver can verify it was not tampered with, and DMARC tells the receiver what to do when the first two fail. If any one of the three is missing, misconfigured, or expired, Gmail, Microsoft and Yahoo will reject or filter your mail. The most common specific failures: an SPF record that exceeds the 10-lookup limit, a DKIM selector that was rotated and the old key removed, and a DMARC record that points at a reporting address that no one reads.

Start with how SPF, DKIM and DMARC work together, then check the specific failure you suspect: SPF not working, DKIM not signing, or how to set up DMARC. The free DMARC checker looks up all three records for your domain in seconds and tells you the exact record to add or fix.

2. A provider-specific rejection

Gmail, Microsoft and Yahoo each reject for their own reasons, and each one tells you in the bounce text. The codes you will see most:

If you are not sure which provider is rejecting you and why, how to read email headers walks through a real example. The email header analyzer does it for you: paste the raw headers and it tells you whether SPF, DKIM and DMARC passed.

3. Your IP or domain is on a blocklist

Blocklists (DNSBLs) are the oldest spam filter. If your sending IP was abused, or a spammer forged your domain and enough of it landed on the lists, receiving servers will reject you before they even look at authentication. This one is nasty because it can happen overnight and the bounce text often just says "listed in a blocklist" without naming which one. Check with is my IP blacklisted and is my domain blacklisted. The IP blocklist checker tests against 9 major lists. If you are listed, Spamhaus delisting covers the request process and what to fix so you do not get relisted.

4. A new domain with no reputation

Every domain starts at zero. Gmail and Microsoft track sending history per domain and per IP, and a brand new domain that suddenly sends 500 emails a day looks exactly like a spam operation, even if every record is perfect. This is the number one reason new cold email domains fail. The fix is not records, it is behavior: send low volume, to engaged recipients, and ramp up slowly over weeks. Domain reputation explains how the score works, and cold email warm-up is the step-by-step ramp. If you just set up a domain for outbound, cold email domains covers the full setup including which domain to use for sending and which to keep for your brand.

5. Bounces: your list is rotting

A bounce is a delivery failure with a reason attached. Hard bounces (no such user, domain no longer exists) tell you the address is dead, and sending to dead addresses is what destroys your reputation. Soft bounces (mailbox full, server down) are temporary. The ratio matters: a bounce rate above 2 to 3 percent is a signal to your providers that your list is dirty, and they will start filtering you even for the good addresses. Email bounce codes explains every code you will see, and email list cleaning covers how to get the list back to a healthy state without throwing away real customers.

6. Volume spike or engagement collapse

Even with perfect records, providers filter by behavior. If your volume tripled this week, or your open and reply rates dropped because recipients stopped engaging, the filter score drops and your mail starts landing in spam silently. No bounce, no error, just silence. Why email goes to spam covers the full filter logic, and Email in spam covers what to do when you notice the problem from the recipient side.

How to find your cause in 10 minutes

  1. Send a test email to a Gmail and an Outlook account you control. If it lands, your problem is list-specific (causes 5 and 6). If it bounces or lands in spam, continue.
  2. Read the bounce or the headers. The error code names the cause. SMTP error codes has the reference table.
  3. Check your SPF, DKIM and DMARC records. The free checker does this in seconds and shows the exact fix.
  4. Check your sending IP against blocklists. The blocklist checker tests 9 major lists.
  5. If all of the above is clean and the domain is under 60 days old, treat it as cause 4 and slow down.

Check all six at once

The free audit runs the full check on your domain: SPF, DKIM, DMARC, MX, TLS and IP reputation, with the exact record to add or fix for anything that fails. No account needed.

Run the free audit

Undelivered email is usually a slow leak, not a one-time event. Inboxproof Pro re-runs the full audit every 24 hours and alerts you the moment a record breaks, expires, or an IP gets listed, so the next outage is a notification instead of a discovery. See pricing →

Related guides
Why email goes to spam · SPF, DKIM and DMARC in one place · SMTP error codes · How to read email headers · Email bounce codes · Domain reputation