SMTP’s first digit gives you the quickest classification:
- 2xx — success.
- 4xx — temporary failure; a sending MTA normally retries.
- 5xx — permanent failure for the attempted operation.
That is only the first layer.
Enhanced status codes
Replies can include an enhanced code such as:
550 5.1.1 User unknown
451 4.7.1 Try again later
550 5.7.1 Message rejected by policy
The enhanced code is structured as class.subject.detail. It gives systems a more consistent classification even when the human-readable wording differs by provider.
Keep the entire response
Do not reduce an incident to “we got a 550.” Preserve the remote hostname, timestamp, recipient, three-digit code, enhanced code and diagnostic text. A 5.1.1 recipient problem and a 5.7.1 policy problem can both begin with 550 but require completely different work.