Skip to main content
Loading...

SMTP Status Codes and Their Meanings

SMTP Status Codes and Their Meanings

SMTP response codes are three-digit numbers that indicate the status of an email transaction. The first digit defines the response category:

  • 1xx – Informational (not commonly used in SMTP)
  • 2xx – Success (The request was successfully processed)
  • 3xx – Redirection (Additional action required)
  • 4xx – Temporary failure (The request failed, but retry may succeed)
  • 5xx – Permanent failure (The request failed, do not retry)

Here’s a breakdown of common SMTP status codes:

2xx – Success Codes

These indicate that the email transaction was successfully processed.

  • 200 – Nonstandard success response (rarely used).
  • 211 – System status or help reply (provides server info).
  • 214 – Help message (returns helpful information).
  • 220 – SMTP server ready (indicates the server is ready to process requests).
  • 221 – SMTP server closing connection (indicates the session is ending).
  • 250 – Requested action completed successfully (most common success response).
  • 251 – Recipient not local, will forward (email will be relayed to another domain).

3xx – Intermediate/Redirection Codes

These codes indicate that the server expects further input from the client before completing the request.

  • 334 – Server response to an authentication request (challenges the client for credentials).
  • 354 – Start mail input (indicates the server is ready to receive the email body).

4xx – Temporary Failures

These errors indicate a transient issue that may resolve itself. The sender should retry later.

  • 400 – Generic temporary error.
  • 421 – Service not available (server is shutting down or overloaded).
  • 450 – Requested action not taken because the recipient’s mailbox is unavailable (e.g., mailbox full).
  • 451 – Requested action aborted due to a server error (e.g., system overload).
  • 452 – Insufficient system storage (server cannot process the email due to lack of resources).

5xx – Permanent Failures

These indicate a permanent error, meaning the request cannot be fulfilled. The sender should not retry.

  • 500 – Syntax error (server did not recognize the command).
  • 501 – Syntax error in parameters (invalid email address or malformed command).
  • 502 – Command not implemented (server does not support the requested command).
  • 503 – Bad sequence of commands (commands sent in the wrong order).
  • 504 – Command parameter not implemented (server does not recognize a specific parameter).
  • 550 – Mailbox unavailable (e.g., recipient does not exist).
  • 551 – User not local (server cannot relay the message).
  • 552 – Mailbox full (message storage limit exceeded).
  • 553 – Invalid recipient address (email address incorrect or malformed).
  • 554 – Transaction failed (email rejected, often due to spam filters or security policies).

Example SMTP Transaction with Status Codes

plaintext

CopyEdit

S: 220 mail.example.com SMTP server ready

C: HELO client.example.com

S: 250 mail.example.com Hello client.example.com

C: MAIL FROM:<This email address is being protected from spambots. You need JavaScript enabled to view it.;

S: 250 OK

C: RCPT TO:<This email address is being protected from spambots. You need JavaScript enabled to view it.;

S: 250 OK

C: DATA

S: 354 Start mail input

C: (Message content)

C: .

S: 250 OK, message accepted for delivery

C: QUIT

S: 221 Goodbye