Quick answer: Most delivery failures are readable: hard bounces (5xx codes like 550) mean permanent rejection — check the reason text; temporary deferrals (4xx) are often greylisting and cure themselves; silent spam-foldering means an authentication or reputation gap. The message headers and your mail log tell you which case you are in.
Overview
Diagnosing delivery starts from evidence, not guesswork: the bounce message, the Authentication-Results header of a received test mail, and the sending server's log. This article maps the common symptoms to causes and the fixes covered across this category.
Before you start
- A copy of the bounce (non-delivery report) or a test message that reached a mailbox you control.
- Access to the server's mail log (
/var/log/mail.logon Debian/Ubuntu) and queue:postqueue -p
Step-by-step guide
- Read the code:
550 5.7.x— policy/reputation rejection (check blacklists, PTR, SPF);550 5.1.1— recipient does not exist (remove the address);452/421 4.x.x— temporary, often greylisting or rate limiting: the server retries automatically. - Inspect headers of a test message at Gmail/Outlook:
Authentication-Resultsmust showspf=pass,dkim=pass,dmarc=pass. Any fail points to the matching guide (DKIM, DMARC). - Check the queue and log for stuck or looping messages; growing queues usually mean DNS or connectivity problems from the server.
- Greylisting: first contact deferred with a 4xx, delivered on retry minutes later — normal; ensure your MTA retries (all standard ones do).
- Spam-foldering with all passes: reputation/engagement, not configuration — work the deliverability checklist.
Common issues
- Bounce says "listed at ...": the exact blacklist is named in the rejection — go straight to its lookup page.
- Delivery fine except one provider: that provider's internal reputation — register for its postmaster tools where offered.
- Mail vanishes with no bounce: usually delivered to spam, or swallowed by a local-delivery misconfiguration on the sending side.
When to contact support
If diagnostics point at the network path (port blocks, routing) rather than configuration, or your IP inherited a listing you cannot clear, open a ticket with the bounce text and timestamps.
Frequently asked questions
What is the difference between a 4xx and a 5xx bounce?
Codes starting with 4 are temporary — the sending server retries automatically, as with greylisting; codes starting with 5 are permanent rejections whose reason text names the fix.
Where do I see why my message was rejected?
In the bounce message text and in the sending server's mail log, such as /var/log/mail.log — the rejection line usually names the policy, blacklist or missing record involved.
Mail is delivered but lands in spam — what do I check?
Open the message headers: if SPF, DKIM and DMARC all show pass, the cause is reputation or engagement, so work through IP checks and gradual warm-up rather than configuration.
Related articles
- How to avoid email going to spam
- How to check IP reputation
- How to configure DKIM
- How to set reverse DNS / PTR record
Need a hand? Contact Cloud2Y support →
