Email bouncing is one of the most common mail server problems. Understanding bounce codes and systematically checking each potential cause will resolve most issues.
Understanding Bounce Codes
# Common SMTP error codes
421 - Service temporarily unavailable (try later)
450 - Mailbox unavailable (temporary)
451 - Local error (retry)
452 - Insufficient storage
550 - Mailbox unavailable (permanent)
551 - User not local
552 - Mailbox full
553 - Mailbox name invalid
554 - Transaction failed (often blacklist)
Step 1 — Check Mail Logs
# Postfix
sudo tail -100 /var/log/mail.log | grep -E "bounce|reject|defer"
# Exim (cPanel)
sudo tail -100 /var/log/exim_mainlog | grep -E "bounce|reject|defer"
Step 2 — Check if IP is Blacklisted
# Check multiple blacklists at once
# Visit: https://mxtoolbox.com/blacklists.aspx
# Or check specific RBLs
dig +short YOUR_SERVER_IP.zen.spamhaus.org
dig +short YOUR_SERVER_IP.bl.spamcop.net
# If response is 127.x.x.x — you are listed
Step 3 — Fix Blacklisting
# Request removal from Spamhaus
https://www.spamhaus.org/query/ip/YOUR_IP
# Request removal from SpamCop
https://www.spamcop.net/bl.shtml
Step 4 — Verify DNS Records
# Check PTR (reverse DNS)
dig -x YOUR_SERVER_IP
# Check MX records
dig MX yourdomain.com
# Check SPF
dig TXT yourdomain.com | grep spf
# Test all at once
https://mxtoolbox.com/SuperTool.aspx
Step 5 — Check Mail Queue
# View queued messages
postqueue -p
# Force retry all deferred
postqueue -f
# View specific message
postcat -vq MESSAGE_ID
Step 6 — Test Email Score
# Send email to mail-tester.com unique address
# Visit: https://www.mail-tester.com
# Aim for score 10/10
Conclusion
Email deliverability issues require systematic diagnosis. Our team provides emergency mail server support with 15-minute response time.
Comments