SMTP Code Overview

As part of the server-to-server email delivery dialog (SMTP), a three-digit enhanced SMTP response code is provided that quantifies the disposition of the email message. These status codes are often very useful for understanding specifically "why" a message was not delivered, without needing to resort to parsing varied plain-text descriptive reasons.

Status Code Basics

These Enhanced Status Codes are defined in RFC 3463 are consist of three digits. The first digit identifies the "class" of the SMTP status code:

  • 1 - Informational
  • 2 - Success
  • 4 - Temporary Failure (The message is usually still being retried)
  • 5 - Permanent Failure (The message failed to send)

The second digit identifies the "subject" of the SMTP status code:

  • 0 - Other or Undefined Status
  • 1 - Addressing Status
  • 2 - Mailbox Status
  • 3 - Mail System Status
  • 4 - Network and Routing Status
  • 5 - Mail Delivery Protocol Status
  • 6 - Message Content or Media Status
  • 7 - Security or Policy Status

The last digit provides more detail on the response category.

Common SMTP Codes

The definitions of the commonly used Enhanced SMTP Status Codes are well defined by the RFC. We refer interested parties to the specification for an accurate exposition of these meanings.

In addition to the common Enhanced SMTP Status Codes, LuxSci reserves some additional 3-digit status codes for LuxSci-specific uses. These are as follows:

  • 000 - Received. Message passed to LuxSci and queued; no delivery status yet generated from an actual delivery attempt.
  • 100 - Ultimate delivery status of this message could not be determined.
  • 101 - Message prematurely deleted from the outbound email queues (e.g., by a customer's "Empty Email Queues" API request).
  • 102 - LuxSci-internal email routing error
  • 519 - The intended recipient is on a LuxSci suppression or recipient-restrictions list.
  • 581 - Generic post-delivery hard bounce. I.e., a hard bounce where the actual status code could not be determined from the bounce message content.
  • 582 - Generic post-delivery soft bounce. I.e., a soft bounce where the actual status code could not be determined from the bounce message content.
  • 583 - Message was either (a) in the queue too long retrying, or (b) was retried more than the maximum permitted number of times.
  • 591 - Message rejected due to an internal consistency error (e.g., customer requested that a Template by applied and said Template no longer exists).
  • 592 - SecureText sending failure (e.g., the SMS message failed to be sent).


< API Overview Page