SMTP error codes and what to do about them

Paste the line from a bounce, or type the code, to find out what the receiving server is telling you, which provider says it that way, and the exact fix. One page per code.

48 codes across six providers, each with its own page.

Gmail and Google Workspace

Microsoft 365 and Outlook.com

Yahoo and AOL

Apple iCloud Mail

Amazon SES

Any mail server

How to read an SMTP error code

Every bounce starts with three digits, and the first one tells you most of what you need. A 4 means the server wants you to try again later: the message is still in your queue and will usually deliver on its own. A 5 means the server has made up its mind and retrying the same message will fail the same way. The second digit narrows it to syntax (0), information (1), connection (2) or mail system (5), but in practice the words after the code carry more.

Most servers add a second, dotted number called the enhanced status code, such as 5.7.26. Its first digit repeats the verdict (4 temporary, 5 permanent) and its second digit names the part of the system that objected. That second digit is the quickest way to sort a pile of bounces into "fix the list", "fix my server" and "wait".

What the enhanced status classes mean

ClassConcernsTypical fix lives in
x.1.xAddresses: the recipient or sender mailbox, domain or syntaxYour list, or the recipient's directory
x.2.xThe mailbox itself: full, disabled, receiving too fastThe recipient
x.3.xThe receiving mail system: disk, database, overloadThe receiving server's admin
x.4.xNetwork and routing: DNS, timeouts, loops, unreachable hostsDNS records on either side
x.5.xProtocol: bad commands, wrong arguments, unsupported extensionsYour mail client or library
x.7.xPolicy and security: authentication, blocklists, spam verdicts, relayingSPF, DKIM, DMARC, reputation

The third digit is the specific condition, and providers extend the list with their own numbers, which is why Microsoft has a 5.7.606 and Gmail a 5.7.26. When the text after the code includes a short tag in brackets such as [TSS04] or (S3150), that tag is the provider's own reason code and is worth searching for on its own.

Bounces handled before you see them.

Faivelo sends transactional email through authenticated, reputation-managed infrastructure, retries temporary failures on a sane schedule and suppresses addresses that hard-bounce, so your application gets a clean event instead of a cryptic reply line.

Send with Faivelo

Free tier included. No card needed.

Questions people ask