SMTP error codes explained

An SMTP error code is the three-digit reply a receiving mail server sends back while it handles your message. The first digit tells you the category.

Below is what each common code means, why it happens, and what to change. The last two entries, 10060 and 10061, are not SMTP replies at all. They are Windows socket errors.

421: service not available

The server is temporarily unable to accept the message and closes the connection. A 4xx permits a later retry. Check whether your provider accepted responsibility for queueing the message or rejected your app’s submission.

This usually means rate limiting (too many messages or connections in a short window), a server that is overloaded or in maintenance, or a reputation throttle on your sending IP. Read the full response and provider logs. Reduce the rate if throttling is reported. Persistent 421 replies do not identify a single cause. See email deliverability.

450: mailbox unavailable, try again

The mailbox was temporarily unavailable, so the server would not take the action. It falls in the temporary 4xx class.

Greylisting is one possible reason: the server defers a first-time sender on purpose and accepts the retry. A mailbox that is busy or locked, or a soft reputation deferral, can also cause it. Let the queue owner retry within its documented window. If 450 persists, use the full response and provider logs to investigate. Also review why emails go to spam.

451: local error in processing

The server hit a local error on its side and aborted the action. It is temporary, a 4xx.

The cause can be a transient server fault, a content or anti-spam system holding the message for a closer look, or a reputation-based delay. Retry and watch whether it clears. An enhanced code such as 4.7.1 points to a security or policy issue. Read the accompanying text to distinguish its cause.

452: insufficient storage

The server did not have enough storage to take the action, so it deferred. Another 4xx, so temporary.

The recipient mailbox is full, or you sent too many recipients in one message for the server to accept at once. A full mailbox is the recipient’s to clear. On your end, split large recipient lists into smaller batches and retry.

471: server or filter error (non-standard)

471 is not defined in RFC 5321. Some mail servers and anti-spam systems return it as a 4xx to flag a mail filter or configuration error while processing the message.

Because it is provider-specific, the real reason sits in the text after the number, so read the whole response line. Allow bounded retries by the system that owns the queue. If it persists, investigate the named server or filter error rather than assuming an authentication or reputation problem. See DMARC and DKIM setup.

550: mailbox unavailable or rejected

The mailbox is unavailable, so the action did not happen. This is a permanent 5xx and one of the rejections you will see most.

It splits three ways: an address that does not exist (5.1.1), a mailbox that has been closed, or a policy block where the server refuses you over reputation or authentication (5.7.1). An invalid address is a receiver-side fact, so stop sending to it. A policy block is about you: check SPF, DKIM, DMARC, and your sending reputation. A rising share of 550s tracks with bounce rate.

551: user not local

The recipient is not on this server, and the server will not relay the message onward. It is a permanent 5xx and rare on modern mail systems.

Usually the route is outdated or the address has moved, and some servers reply with a suggested forwarding address. Correct the destination and resend.

552: message too large or storage exceeded

The message crossed a size or storage limit and was rejected. This is a permanent 5xx, the opposite of the temporary 452.

Either the message and its attachments exceed the receiving server’s size limit, or the mailbox is over its permanent storage allocation. Shrink the message, or host large files behind a link instead of attaching them, then resend.

553: mailbox name not allowed

The mailbox name is not allowed, so the server refused the action. Permanent, a 5xx.

The recipient address is invalid or malformed, or the server rejects your sender address, an unqualified or spoofed-looking From being the usual example. Fix the address syntax, and send your From from a domain you have authenticated.

554: transaction failed

554 is the catch-all rejection: the transaction failed and the server will not accept the message. It is permanent, a 5xx.

Behind it is usually a spam or policy block (554 5.7.1), a sending IP or domain on a blocklist, or relaying that was denied. The number alone does not identify which condition applies. Check your domain authentication, your reputation, and whether your IP or domain is on a blocklist. Note that connect error 10060 and 554 are not the same failure: 554 means you reached the server and it refused the message, while 10060 reports a socket timeout. Inspect which operation timed out. Read more on why emails go to spam.

535: authentication failed

535 means the SMTP AUTH credentials were rejected (5.7.8). The server understood the login and turned it down.

The credentials are wrong, the API key or app password has expired or been revoked, or the account needs an app-specific password instead of the main one. This is entirely on the sender: correct the credentials, regenerate the key if it was rotated, and confirm you are using the submission port and auth method the provider expects. See SMTP ports and email protocols.

connect error 10060: connection timed out

10060 is a Windows socket timeout (WSAETIMEDOUT), not an SMTP reply. If it occurs during connection setup, check the documented host and port, outbound firewall rules, and server availability.

A timeout can also occur after a connection has been established. Identify the operation that timed out before retrying. A missing response after message submission leaves delivery uncertain.

connect error 10061: connection refused

10061 is a Windows socket error (WSAECONNREFUSED), not an SMTP reply. The target actively refused the connection.

That happens when you connect to a port with no mail service listening (a wrong or closed port), when the SMTP service is not running, or when a firewall rejects the connection outright. Confirm the correct submission port and that the mail service is up. As with 10060, this is a connection-level failure, not a message rejection.

4xx versus 5xx and retries

The first digit decides what to do next. A 4xx reply is a temporary failure. If your provider has accepted the message and owns its delivery queue, let it handle retries. If it rejects your app’s submission, your app may need to retry. Check acceptance status and the provider’s retry window before sending another copy. A 5xx reply is a permanent failure, so retrying the same message to the same address will fail the same way. Fix the underlying cause, or stop sending to that address.

Do not retry a 5xx by hammering the server, because repeated permanent failures to bad addresses hurt your reputation and raise your bounce rate. And do not panic over an occasional 4xx, because greylisting and brief deferrals are normal and clear on retry. Investigate deferrals that persist beyond the queue’s retry window using the full response, affected domains, and provider logs.

When the code is about you

Some codes describe the recipient, and some describe you. A 550 for a nonexistent address or a 552 for an oversized message is about that specific message or mailbox. Authentication errors such as 535 concern your submission credentials. Other failures need their enhanced code and response text to distinguish recipient, policy, and server problems.

For an authentication or sender-policy failure, investigate the configuration before retrying. Confirm SPF, DKIM, and DMARC are aligned with DMARC and DKIM setup, watch your bounce rate, and clean the inputs that let bad addresses into your list. The broader playbook is in email deliverability. If you send through Loops, a hard bounce or spam complaint moves that contact into suppression automatically, but not every 550 or 554 establishes an invalid address. Check the provider’s bounce classification and suppression state.

Frequently asked questions

What does SMTP error 554 mean?

Is connect error 10060 an SMTP error?

What is the difference between a 4xx and a 5xx SMTP code?

Why do I keep getting a 550 error?