Why Are My Emails Not Being Delivered?

Diagnosing bounces, silent failures and delivery problems.

Share

You sent an email and it never arrived. No bounce message, no error — the recipient simply did not receive it. Or perhaps you are getting bounce-back errors you do not understand. Either way, your business communication is broken and you need to fix it.

Email delivery failures fall into two categories: hard failures where the message bounces back with an error, and silent failures where the message disappears without any notification. Both have specific, diagnosable causes.

Bounce Messages and What They Mean

When a mail server cannot deliver your message, it usually sends back a bounce message (also called a Non-Delivery Report or NDR). These contain error codes that tell you exactly what went wrong.

Common SMTP Error Codes

  • 421 — The receiving server is temporarily unavailable. Your server should retry automatically.
  • 450 — Mailbox temporarily unavailable. Usually means the recipient's mailbox is busy or the server is under load.
  • 451 — Requested action aborted due to a local error on the receiving server.
  • 452 — Insufficient storage on the receiving server. The recipient's mailbox may be full.
  • 550 — The recipient address does not exist. The mailbox was deleted or never existed.
  • 551 — User not local. The recipient has moved or the address is being forwarded elsewhere.
  • 552 — Message exceeds the recipient's storage quota or the message size limit.
  • 553 — Mailbox name invalid. Usually a typo in the email address.
  • 554 — Transaction failed. A general rejection — often due to spam filtering or policy violations.

4xx vs 5xx Errors

Error codes starting with 4 are temporary. Your mail server will retry delivery automatically, usually for up to 48–72 hours. Codes starting with 5 are permanent — the message will not be delivered and your server will stop trying.

Authentication Failures

If your domain's email authentication is not configured correctly, receiving servers may reject your messages outright — especially if you have a DMARC policy set to reject.

SPF Hard Fail

If your SPF record ends with -all (hard fail) and the sending server is not listed, the receiving server will reject the message. This is different from ~all (soft fail), which typically sends the message to spam rather than rejecting it.

DMARC Reject Policy

A DMARC policy of p=reject tells receiving servers to reject messages that fail both SPF and DKIM alignment. If you have recently enabled DMARC with a reject policy without first verifying that all your legitimate sending sources pass authentication, you may be blocking your own email.

DKIM Signature Mismatch

If your DKIM signature cannot be verified — because the DNS record is missing, the selector is wrong, or the message was modified in transit — some servers will reject the message, especially when combined with a strict DMARC policy.

DNS Configuration Problems

Email depends heavily on DNS. If your DNS records are wrong, email breaks — sometimes silently.

Missing or Incorrect MX Records

Your domain's MX records tell other servers where to deliver email for your domain. If MX records are missing, point to the wrong server, or reference a hostname that does not resolve, incoming email will fail. Some providers will also check the sender's MX records and reject outgoing mail from domains with no MX.

DNS Propagation Delays

If you have recently changed your DNS records — moved to a new email provider, updated MX records, or added authentication records — the changes take time to propagate. During this window (up to 48 hours, though usually much faster), some servers may see the old records and some may see the new ones. This can cause intermittent delivery failures.

Expired Domain or DNS Outage

If your domain has expired or your DNS hosting provider is experiencing an outage, all DNS lookups for your domain will fail. This means no MX lookups, no SPF checks, no DKIM verification — and no email delivery in either direction.

IP and Domain Blocklists

If your mail server's IP address or your domain appears on a blocklist, many receiving servers will reject your messages.

How You End Up on a Blocklist

  • Your server was compromised and used to send spam.
  • A user on your server sent bulk unsolicited email.
  • You inherited a previously blacklisted IP address from your hosting provider.
  • High bounce rates triggered automatic listing.
  • Your domain was reported by multiple recipients.

How to Check

Look up your sending IP address on major blocklists: Spamhaus (zen.spamhaus.org), Barracuda (barracudacentral.org), SORBS, and SpamCop. Most blocklists have a web lookup tool and a delisting process.

If you are on a shared IP with other senders, their behaviour can get your IP blocklisted even if you have done nothing wrong. This is one of the strongest arguments for dedicated email hosting.

Server Configuration Issues

Missing Reverse DNS (PTR Record)

Many mail servers reject connections from IP addresses without a valid reverse DNS record. The PTR record should map your mail server's IP address back to a hostname, and that hostname should resolve forward to the same IP. If these do not match, your email may be silently rejected.

TLS and Encryption Failures

Most modern mail servers require or prefer TLS-encrypted connections. If your server's TLS certificate is expired, self-signed, or misconfigured, the receiving server may refuse the connection. Some servers will fall back to unencrypted delivery, but an increasing number will not.

Mail Queue Blockages

Your outgoing mail server has a queue. If the queue is full, the server is overloaded, or a process has crashed, emails can sit unsent without generating any error to the sender. Check your mail server logs and queue status if emails are not leaving your server.

Port Blocking

Some hosting providers and ISPs block outgoing connections on port 25 (the standard SMTP port) to prevent spam. If your server cannot connect to other mail servers on port 25, your email will not be delivered. Contact your hosting provider to confirm port 25 is open, or use a dedicated email relay service.

Recipient-Side Issues

Sometimes the problem is at the other end.

  • The recipient's mailbox is full — the server returns a 452 error.
  • The recipient's email address no longer exists — you get a 550 bounce.
  • The recipient's server is down or unreachable — you get a 421 temporary error.
  • The recipient's organisation has strict filtering that silently discards messages from unknown senders.
  • The recipient's server has greylisting enabled — it temporarily rejects the first attempt from any new sender and expects your server to retry.

Greylisting

Greylisting is a spam-prevention technique where the receiving server temporarily rejects your first message with a 450 error. A legitimate mail server will retry after a few minutes and the message will be accepted. However, if your server is misconfigured and does not retry, the message will never be delivered.

Messages Sent but Not Received (Silent Failures)

The most frustrating scenario is when your mail server reports successful delivery but the recipient never sees the message.

  • The message landed in the recipient's spam or junk folder.
  • The recipient's email client has a filter rule that moved or deleted the message.
  • The recipient's security gateway (Barracuda, Mimecast, Proofpoint) quarantined the message.
  • The message was delivered to an alias or distribution list that is not configured correctly.
  • The recipient is checking the wrong mailbox or the wrong email client.

If your server shows the message was accepted (a 250 OK response), delivery was technically successful — the message reached the recipient's server. What happens after that is on their side. If this is happening regularly, the root cause is likely a reputation or authentication issue that pushes your messages into their spam filter.

How to Diagnose Delivery Problems

  1. Check for bounce messages. The error code tells you the specific cause.
  2. Verify your DNS records. Confirm MX, SPF, DKIM and DMARC records are correct using dig or nslookup.
  3. Check your server's mail queue. Look for stuck or deferred messages.
  4. Check blocklists. Look up your sending IP on Spamhaus, Barracuda and other major lists.
  5. Review your mail server logs. Look for connection errors, TLS failures or authentication issues.
  6. Test from a different sender. If a different email address on the same server has the same problem, it is a server or IP issue. If only one address is affected, it may be an account or authentication issue.
  7. Ask the recipient to check spam, quarantine and filter rules.
  8. Check your DMARC reports. They show which messages are passing and failing authentication.

Preventing Future Delivery Issues

  • Configure SPF, DKIM and DMARC correctly for all sending sources.
  • Use a dedicated IP address for your business email.
  • Monitor your sender reputation and blocklist status regularly.
  • Keep your DNS records up to date when changing providers or adding services.
  • Set up DMARC aggregate reporting to catch authentication failures early.
  • Maintain clean contact lists — remove invalid addresses after hard bounces.
  • Ensure your mail server has valid TLS certificates and reverse DNS.

If your business emails are not being delivered and you cannot identify the cause, contact our team for a deliverability audit. We trace the full path from your server to the recipient and identify exactly where and why messages are failing. Proper email infrastructure is the foundation of every business email hosting deployment we manage.