Skip to content

Glossary

SMTP status codes

The numeric replies a mail server gives during delivery, which say whether a message was accepted, deferred or rejected and why.

Definition

Every step of an SMTP conversation gets a reply code from the receiving server. Bounce messages quote them, so they are worth learning to read.

The basic reply code has three digits (RFC 5321). The first digit is what matters most:

  • 2xx: success. 250 means the command was accepted.
  • 4xx: temporary failure. Try again later. 421 and 451 are common.
  • 5xx: permanent failure. Do not retry. 550 and 554 are common.

The enhanced status code (RFC 3463) adds detail in the form class.subject.detail, for example 5.1.1:

CodeUsual meaning
5.1.1Mailbox does not exist
5.1.2Domain does not exist or cannot be reached
5.2.2Mailbox full (often treated as temporary in practice)
5.7.1Delivery not authorised, often a policy or block
4.7.xTemporary policy or reputation deferral

A full bounce line might read 550 5.1.1 The email account that you tried to reach does not exist. The text after the codes varies by provider and often contains a link to their sender guidelines.

Why it matters

The code tells you what to do next. A 5.1.1 means remove the address. A 4.x.x means wait, and your platform will usually retry for you. A 5.7.x often points at you rather than the recipient: authentication, reputation or content. Removing the address will not fix that.

Treating every bounce the same way leads to bad decisions, like suppressing good contacts after a temporary block or retrying dead mailboxes forever.

How SimpleCold handles it

During verification, SimpleCold maps what the mail server says to a status code and a plain reason. A "user unknown" reply becomes mailbox_not_found ("This mailbox does not exist."). Other server errors map to statuses such as server_error, rejected or mailbox_disabled. The failType field separates permanent from temporary, which mirrors the 5xx and 4xx split.

Check an address for free

No sign-up. See the result and the reason.

Check your list before you send it

Start with 200 free credits. Pay per credit after that.