SMTP error codes: What they mean and how to fix them

SMTP error codes overview:

  • SMTP error codes are three-digit reply codes that SMTP servers return when they defer or reject an email, showing whether delivery failed temporarily (4xx) or permanently (5xx).
  • Understanding SMTP error codes helps you troubleshoot bounces faster by separating “retry later” issues (like busy servers or full mailboxes) from “fix first” issues (like invalid addresses or policy blocks).
  • Enhanced status codes (such as 5.1.1 or 5.7.1) add extra detail, making it easier to identify the likely cause and next step.

SMTP servers return short, three-digit reply codes when they defer or reject an email. These SMTP error codes indicate whether delivery encountered a temporary issue (4xx) or failed permanently (5xx), often due to mailbox storage limits or domain authentication issues.

Use Sendmarc’s domain checker to confirm that your DNS records are correctly configured and to identify authentication issues that may be behind SMTP error codes.

If you’re at risk of impersonation, one of our experts will be in touch to assist.

How SMTP error codes work

Explaining SMTP error codes

During an SMTP conversation, the sending server issues commands, and the receiving server answers with responses. Each server response usually contains:

  1. A three-digit SMTP status code, such as 421, 450, or 550
  2. An optional enhanced status code, such as 4.2.2 or 5.7.1
  3. Sometimes a short, human-readable message, such as “Authentication required”

First digit: Temporary vs. permanent

The first digit of an SMTP error code tells you the status code:

  • Code 4xx – Persistent Transient Failure. The request failed for now, but it may succeed later.
  • Code 5xx – Permanent Failure. The request won’t succeed until something changes.

When you interpret SMTP error codes, it helps to focus on the difference between 4xx and 5xx:

4xx SMTP error codes mean temporary issues:

  • Mailboxes may be full, or servers might not be available.
  • Email systems usually retry delivery after a 4xx response.

5xx SMTP error codes mean permanent issues:

  • Addresses can be invalid, domains misconfigured, or syntax incorrect.
  • Email systems mark 5xx responses as hard bounces.

Enhanced SMTP status codes

Many systems add Enhanced Status Codes to SMTP error codes to describe the problem in more detail. These typically have three parts, such as 5.1.1 or 4.7.1, and they include:

Class:

  • Code 4.x.x – Persistent Transient Failure.
  • Code 5.x.x – Permanent Failure.

Subject:

  • 0.XXX – Other or undefined status
  • 1.XXX – Addressing status
  • 2.XXX – Mailbox status
  • 3.XXX – Mail system status
  • 4.XXX – Network and routing status
  • 5.XXX – Mail delivery protocol status
  • 6.XXX – Message content or media status
  • 7.XXX – Security or policy status

A few common examples:

  • Code 4.2.2 often maps to a mailbox that’s full
  • Code 5.1.1 indicates an invalid or unknown address
  • Code 5.7.1 signals a security or policy failure

Reading the basic SMTP error code alongside the enhanced status code provides a clear picture of what went wrong and who likely needs to act.

Connect enhanced codes with authentication

Codes in the X.7.XXX family, such as 5.7.0 or 5.7.1, indicate that a security or policy rule or requirement prevented the message from being accepted.

Use Sendmarc’s free domain checker to confirm that:

  • Your Sender Policy Framework (SPF) records include all authorized senders.
  • Your DomainKeys Identified Mail (DKIM) keys are published correctly.
  • Your Domain-based Message Authentication, Reporting, and Conformance (DMARC) record is valid.

This helps you quickly see whether misconfigured authentication is contributing to the SMTP error codes you’re seeing.

Common SMTP error codes (4xx and 5xx)

Temporary SMTP error codes (4xx)

Temporary codes usually come from the receiving side and indicate short-term issues that should be cleared without changes on your end.

CodeTypical meaningNext steps
421Service not available, closing transmission channel – The receiving SMTP server is unavailable or busy.Treat this as a temporary issue. If the same error code keeps appearing, contact the recipient’s email administrator.
422Mailbox temporarily unavailableThere is an issue with the license, server, or storage. Retry sending after a short period of time.
450Requested mail action not taken; mailbox unavailable – The mailbox may be full or locked.Try again later. If the issue persists, contact the recipient.
451Requested action aborted, local error in processingThe receiving server may be temporarily overloaded or applying filtering policies.Wait a short time and try sending the email again. If the issue persists, contact the recipient’s email administrator.
452Requested action not taken, insufficient system storageThe recipient’s server is full, busy, or enforcing a policy rule.Try sending the message again after a short delay. If you continue to see the same SMTP error code, raise it with the recipient’s email administrator.

Permanent SMTP error codes (5xx)

Permanent SMTP error codes are usually treated as hard bounces. Resending without any changes doesn’t help and may harm your sender reputation.

CodeTypical meaningNext steps
501Syntax error in parameters or argumentsThis is often due to ainvalid recipient address, a malformed SMTP command, or incorrect HELO/EHLO configuration. Verify the recipient address, confirm your SMTP command syntax, and ensure your HELO/EHLO settings are correctly configured.
521Server does not accept mailThe recipient server isn’t configured to accept email, or your sending IP has been blocklisted.Confirm the recipient domain has valid MX records and is active, then check whether your sending IP is on blocklists, fix any issues, and request delisting.
540Recipient address rejected – domain not foundThe recipient domain may be inactive, suspended, or blocking your sending domain/IP.Ask the recipient to reactivate the mailbox, then verify SPF/DKIM/DMARC, check IP/domain blocklists, and request allowlisting if needed.
550Requested action not taken: mailbox unavailable – The request was rejected because the address is invalid, authentication checks failed, or your IP/domain reputation is causing blocks.Confirm the address is correct, validate alignment, then check your reputation and blocklists, remediate, then request delisting.
551User not local; please try <forward-path> The message was rejected because your sending domain is blocklisted, forwarding is misconfigured, or the recipient domain is invalid.Check blocklists, fix the underlying issue, request delisting, then verify the recipient domain via DNS and have the recipient confirm the forwarding address and rules.
552Requested mail action aborted: exceeded storage allocationThe message was rejected because it exceeded size limits, the mailbox is over quota, malware was detected, spam/security filters were triggered, or the recipient address is invalid.Reduce the message/attachment size, confirm the recipient mailbox has space and the address is valid, scan attachments for malware, and adjust content to avoid spam/security filtering.
553Requested action not taken: mailbox name not allowedThe message was rejected due to an invalid address format (RFC), spam filtering, IP blocklisting, or the server denying relay to that destination.Fix the address format, adjust content/authentication to reduce spam filtering, check blocklists and remediate before requesting delisting, and if it’s a relay issue, contact the recipient.
554Transaction has failedRejected due to spam/security filtering, poor sender reputation, failed authentication, blocklisting, an invalid recipient, mailbox limits, or malformed headers. Confirm the recipient address, have them free up mailbox space, verify SPF/DKIM/DMARC alignment, check reputation/blocklists and fix issues before delisting, and adjust content/headers.

When you map specific SMTP error codes to clear actions, troubleshooting becomes faster and easier to repeat.

See how to reduce authentication-related SMTP error codes

Authentication-related SMTP error codes, such as 550 5.7.0 or 554 5.7.1, can stop legitimate business email from being delivered because of policy and security controls. When your DNS records and email authentication protocols are correctly configured and used consistently, you see fewer SMTP errors, and your domains are better protected.

See how Sendmarc helps reduce authentication-related SMTP error codes and improve overall email deliverability.

SMTP error codes FAQs

What is an SMTP error code?

An SMTP error code is a three-digit status code that an SMTP server returns when an email delivery attempt is deferred or fails, explaining why a message wasn’t accepted. SMTP error codes appear in server logs and bounce messages.

SMTP error codes often appear together with enhanced status codes and a short message, which gives you enough information to decide whether to retry or fix something first.

The difference between 4xx and 5xx SMTP error codes is that 4xx codes indicate temporary problems, and 5xx codes indicate permanent failures.

4xx SMTP error codes show persistent transient failures, such as busy servers, full mailboxes, or temporary infrastructure issues. Email systems usually keep trying 4xx responses for a set period.

5xx SMTP error codes show permanent failures, such as invalid addresses or security and policy blocks. You need to correct the address, configuration, or policy issue before sending again.

The SMTP error code for a bounced email appears in a few common places.

You can find the SMTP error code in:

  • Bounce messages or Non-Delivery Reports (NDRs)
  • SMTP logs, which record the full SMTP conversation