LeadHaste

SMTP Error Codes: What Each Bounce Means for a Cold Email Campaign

Sofia Urrego
Sofia Urrego·Nov 1, 2026·9 min read

Summarize with AI

SMTP error codes tell you whether another attempt may work and what needs attention first. Read the complete response from left to right. A basic three-digit 4xx code means a temporary failure, while 5xx means the exact request should not be repeated unchanged. A dotted status narrows the affected area, such as an address, mailbox, route, message, or policy. The diagnostic text can then identify the specific condition. Retry a 4xx response through a finite queue. For a 5xx response, change the address, message, route, or sending setup before trying again.

How to Read SMTP Error Codes

A rejection can look like 550 5.1.1 <person@example.com>: Recipient address rejected. It contains three useful parts:

  1. 550 is the basic SMTP reply code.
  2. 5.1.1 is the enhanced status code.
  3. The remaining text is the receiving system's diagnostic.

RFC 5321 defines the basic three-digit replies. The first digit controls the broad action. A 4xx reply is a transient negative completion, so the client should try again. A 5xx reply is a permanent negative completion, so the client should not repeat the exact request in the same sequence.

The other digits in the basic code provide broad context, but they are not as descriptive as the digits in a dotted code. For basic SMTP replies, the second digit groups syntax, information, connection, or mail-system responses. The third digit gives finer detail within that group.

RFC 3463 defines dotted status codes in class.subject.detail form. The class is 2 for success, 4 for persistent transient failure, or 5 for permanent failure. The subject identifies the affected area:

Dotted subjectArea identified by the standardFirst owner to check
x.0.xOther or undefined statusMail operations
x.1.xAddressingContact data
x.2.xMailboxRecipient condition or contact data
x.3.xDestination mail systemMail operations
x.4.xNetwork or routingMail operations
x.5.xMail delivery protocolSending platform or mail operations
x.6.xMessage content or mediaMessage owner
x.7.xSecurity or policySending setup owner

The basic and dotted codes must agree on class when a server uses the extension. RFC 2034 requires a 4xx reply to carry a 4.x.x dotted code and a 5xx reply to carry a 5.x.x code. The numbers after that first digit do not have to match.

4xx SMTP Error Codes: Retry Without Guessing

A 4xx response says the command failed under a temporary condition. RFC 5321 says the action may be requested again and the client should retry. It does not prescribe one universal retry count, delay, or stop time for every sending system.

Use delayed retries under a documented policy. If the same response keeps returning, stop adding attempts and investigate the repeated condition. This is our operating practice, not an Internet-wide threshold.

Basic codeMeaning in RFC 5321Cold email action
421Service not available, closing transmission channelLeave queued for retry; check whether the receiving service or connection remains unavailable
450Mail action not taken because the mailbox is unavailableRetry later; use the diagnostic text to distinguish a busy mailbox from a temporary policy block
451Requested action aborted because of a local processing errorRetry later; group repeats by receiving system and sending route
452Requested action not taken because system storage is insufficientRetry within policy; do not treat it as proof that the address is invalid
455Server cannot accommodate the supplied parametersPreserve the rejected parameters and route the event to mail operations

What 421 4.7.0 tells you

The pair 421 4.7.0 combines two layers. 421 says the service is unavailable and is closing the transmission channel. 4.7.0 says the failure is temporary and belongs to the security or policy category, with no more specific detail defined by the dotted code.

That pair does not establish one universal cause such as rate limiting, authentication, or reputation. Read the diagnostic text to learn what the receiving system reported. Pause volume increases while the sending setup owner checks the named condition.

What 450 and 452 do not tell you

A 450 response can cover a mailbox that is busy or temporarily blocked for policy reasons. A 452 response reports insufficient system storage. Neither basic code proves that the recipient address is permanently bad.

Keep those recipients out of the permanent suppression path unless a later response or authoritative data establishes a permanent address failure. Our soft bounce vs hard bounce guide covers the wider retry and suppression workflow.

5xx SMTP Error Codes: Change Something Before Retrying

A 5xx response means the exact request should not be repeated in the same sequence. Some permanent conditions can be corrected, but a person or system must change the relevant input or condition first.

Basic codeMeaning in RFC 5321Cold email action
500Command unrecognized or syntax errorFix the SMTP command or sending implementation
501Syntax error in parameters or argumentsCorrect the named parameter or address syntax
502Command not implementedStop relying on that command for this server
503Bad sequence of commandsFix the SMTP command order
504Command parameter not implementedRemove or change the unsupported parameter
550Mailbox unavailable, including not found, no access, or policy rejectionUse the dotted code and text to choose suppression, access repair, or policy investigation
551User not local, with a forward path suppliedValidate the supplied destination before changing the contact record
552Requested mail action aborted because storage allocation was exceededRead the dotted code to locate the size or storage limit before resending
553Mailbox name not allowed, such as incorrect syntaxCorrect only from an authoritative source, otherwise suppress the invalid destination
554Transaction failed, or no SMTP service at connection openingPreserve the complete response and fix the named transaction or service condition
555MAIL FROM or RCPT TO parameters are unrecognized or unsupportedRemove or correct the unsupported parameter

Why 550 is not a diagnosis

RFC 5321 gives 550 several broad examples: mailbox not found, no access, or rejection for policy reasons. Pair it with the dotted code before acting.

550 5.1.1 is specific. RFC 3463 defines x.1.1 as a destination mailbox that does not exist and says the detail is useful only for permanent failures. Suppress that exact address, record its source, and do not invent a replacement mailbox pattern.

A 550 5.7.x response belongs to security or policy. It does not prove that the mailbox is invalid. Preserve the text and route the event to the owner of authentication, permissions, relay policy, or the other control named in the response. Our email bounce back code guide explains that owner-based routing in more detail.

Why 554 needs its diagnostic text

The basic 554 reply means transaction failed. RFC 5321 also permits it at connection opening to mean that no SMTP service is available there. The code alone does not tell you whether the failure came from the connection, command sequence, message, or policy.

Do not assign a provider-specific meaning that the response did not state. Capture the command stage and every line of the reply, then correct the condition named by the receiving system.

Preserve the Full SMTP Diagnostic

A normalized status code makes failures sortable, but it can be less precise than the transport's actual diagnostic. RFC 3464 defines the Diagnostic-Code field in delivery status notifications so the transport-specific information can be retained.

Keep the unedited reply even when your sending tool creates a friendlier label. Record whether the response came from the remote mail transfer agent or your reporting system. Also keep the last-attempt time and affected recipient. Those details let an operator reconstruct what failed without guessing from a dashboard category.

A practical routing sequence is:

  1. Check the first digit and choose retry or change.
  2. Use the dotted subject to assign the likely owner.
  3. Inspect the detail digit and full diagnostic text.
  4. Preserve the raw evidence before changing the contact, message, or sending setup.
  5. Group repeats by receiving domain, sending domain, route, campaign, and data source.

Ready to Route Every SMTP Failure Correctly?

We can review your campaign fit, sending path, bounce records, and ownership boundaries, then show where retry, suppression, or repair decisions need a clearer process. Book your free discovery call →

Frequently Asked Questions

A strong positive reply rate for B2B cold email is 1.5–3%. Top-performing campaigns with tight targeting and personalized copy can hit 4–5%. If you're below 1%, it usually signals a deliverability or messaging problem, not a volume problem.

The safe range is 30–50 emails per inbox per day for warmed inboxes. That's why outbound systems use multiple inboxes (we use 80) to reach 40,000+ monthly sends while keeping each inbox well within safe limits. Sending more than 50/day from a single inbox risks spam folder placement.

Yes. The CAN-SPAM Act permits unsolicited commercial email as long as you include a physical address, an unsubscribe mechanism, accurate headers, and non-deceptive subject lines. Unlike GDPR in Europe, the US does not require prior opt-in consent for B2B cold outreach.

Domain warm-up typically takes 2–3 weeks. During this period, sending volume gradually increases while the email warm-up tool generates positive engagement signals (opens, replies) to build sender reputation. Skipping or rushing warm-up is the most common cause of deliverability problems.

Cold email is targeted, relevant outreach to a specific person based on their role, industry, or company, with a clear business reason. Spam is untargeted mass messaging with no personalization or relevance. The distinction matters legally (CAN-SPAM compliance) and practically (deliverability depends on relevance signals).

SMTP error codesemail bouncesemail deliverabilitybounce management
Sofia Urrego

Sofia Urrego

Account Success, LeadHaste

Looks after LeadHaste accounts end to end, from targeting and copy through to the conversations that come back, so each client keeps improving month over month.

Newsletter

The weekly for people who buy outbound.

Five things that changed in outbound this week, why they matter, and what to do about each. Read by founders, sales leaders and growth leads at B2B companies.

Read past issues →

Ready to build outbound that compounds?

We'll build the entire system for your business, and the infrastructure it runs on stays yours.

Book my free review →