421: service not available
The receiving server is closing the connection and will not take mail right now. The reply is temporary, so the sending server keeps the message and tries again later.
- Standard
- Provider
- Temporary (4xx)
- Class
- Sources checked
- Author
At a glance
- Code
- 421
- Provider
- Standard SMTP codes
- Temporary or permanent
- TemporaryThe sending server keeps the message and tries again later.
- Who has to act
- Either side, depending on the cause. Start with the checks below that are yours.
- What the server says
421 Service not available, closing transmission channel
What it means
A 421 says the server cannot carry on with the session. RFC 5321 allows it in reply to any command when the service has to shut down, and servers also send it when they are overloaded or want a client to slow down. Because it is a 4xx reply, nothing is lost: the sending server keeps the message in its queue and retries. Large mailbox providers send 421 with enhanced codes and text of their own to rate-limit senders, so the words after 421 tell you whether this is maintenance or a reaction to how you send. If every retry meets a 421 until the retry period runs out, the message is finally returned as undeliverable.
Common causes
- The receiving server is restarting, shutting down or in maintenance.
- The server is overloaded or has reached its limit of connections.
- A provider is rate-limiting your IP address or domain because of volume or reputation.
How to fix it
- 01Let the sending server retry; a single 421 is part of normal mail traffic.
- 02Read the enhanced code and the text after 421, which often say whether it is a rate limit.
- 03If it keeps happening with one provider, send to it more slowly and review your sending reputation.
- 04If the text mentions reputation or a block, check your IP and domain on blocklists.
Sources
What this page rests on, checked on 20 Oct 2026. The explanation is ours; the reply text is the server's.
- RFC 5321, section 4.2.3: Reply Codes in Numeric Orderrfc-editor.org
- RFC 5321, section 3.8: Terminating Sessions and Connectionsrfc-editor.org
Related codes
- 4.4.2Connection dropped.The connection to the receiving server was opened, but broke or timed out before the message transfer finished; the sending server will try again.
- 5.3.2Server not accepting mail.The server holding the mailbox is not accepting messages at all, because it is shutting down, overloaded, in maintenance, or set never to receive mail.
- 5.7.0Security or policy refusal, unspecified.The message or session was refused for a security or policy reason that the server did not describe more precisely, or chose not to reveal.
- 451Local error in processing.The receiving server hit a problem on its own side while handling the message and stopped. The reply is temporary, so the sending server will try again.
421 at other providers
- 421 [RP-001]Outlook.com rate limit for the sending IP.Outlook.com is limiting how fast your IP can send to it because of the IP or domain's reputation; it is temporary and your server should retry.
- 421 [RP-002]Outlook.com rate limit on this connection.Your IP has sent more over a single connection than Outlook.com allows, a limit Microsoft ties to IP and domain reputation.
- 421 [RP-003]Outlook.com connection limit.Your IP has opened more connections to Outlook.com than it is allowed, a limit Microsoft links to IP and domain reputation.
- 421Temporary error or deferral.Yahoo or AOL refused your message for now with a 421, one of its two temporary error codes. Your server should keep it and retry; repeated deferrals point to reputation or complaints.
- 421Try again later.Xfinity turned the message away for now with a generic 421. Treat it as temporary and let your server retry: Xfinity uses it for several reasons it does not spell out.
- 421Reverse DNS lookup failed.Xfinity could not complete a reverse DNS lookup for your sending IP. It treats this as temporary, so your server should retry, but a broken DNS setup keeps it failing.
Further reading
All 105 standard codesEvery code in the wikiPaste your own bounce