Every time your server talks to a receiving mail server, the exchange ends with a three-digit SMTP status code. Most of the time you never see these codes. When you do, they are the fastest way to know whether a problem is yours, the recipient's, or the network's.
The free InboxProof audit checks your SPF, DKIM, DMARC, PTR, MX and TLS records and flags the configuration problems that cause 5xx rejections. No signup.
Audit my domainEach code has three digits. The first digit is the category:
The difference between 4 and 5 matters enormously. A 4xx means "try again later." A 5xx means "this will never work, stop trying." If your mail is bouncing, the first thing to check is whether the rejections are 4xx (a transient or throttling issue) or 5xx (a hard configuration or policy rejection).
The message was accepted for delivery. This is the only code that means your email actually went through. If you see 250, the receiving server took the message. Where it lands (inbox or spam) is a separate question.
Temporary failures: the mailbox is busy, the server is busy, or the mailbox is over quota. The sending server queues the message and retries. A few 450s are normal. Sustained 4xx responses for hours mean the receiving server is throttling you, usually because of your sending reputation or volume.
The recipient address does not exist at that domain. This is a hard bounce. If you see many 550 5.1.1 responses, your list has bad addresses and you need to clean it. High hard-bounce rates are one of the fastest ways to get your sending IP throttled or blocked.
The receiving server rejected the message because it failed an authentication check. This is the code you see when your SPF, DKIM or DMARC is misconfigured. If you see 554 5.7.1 from Gmail or Microsoft, run an audit on your domain and fix the failing record. See the SPF vs DKIM vs DMARC guide.
The receiving server refused to relay your message. Common causes: your server's PTR record does not match its IP, your IP is on a blocklist, or you are sending from a residential IP that is not allowed to relay. If you see this code, check your PTR record and your blocklist status.
The receiving server rejected the message based on its spam policy. This is the code you see when your email is being treated as spam at the SMTP level, before it even reaches the inbox. It usually means your sending reputation is poor, your content triggered a filter, or your domain lacks proper authentication.
When a batch of email is failing, work through the codes in this order:
Some codes are early warnings that your email is heading for the spam folder, even if the SMTP transaction "succeeds":
If you see these patterns, the fix is usually the same: clean your list, fix your authentication, and reduce your volume until your reputation recovers.
Run a free audit on your sending domain and see which records are causing 5xx rejections.
Open the free auditWant this checked automatically every day? Inboxproof Pro monitors your domain around the clock and alerts you the moment a record breaks or an IP gets listed. See pricing →
Related: Cold email deliverability · Why email lands in spam · SPF vs DKIM vs DMARC · Is my domain blacklisted?