SMTP
SMTP 521 means the host never accepts inbound mail (RFC 7504). It is a recipient-domain misconfiguration — send only to domains with valid MX records.
Updated Jul 1, 2026
The short answer
SMTP 521 means "host does not accept mail." Standardized in RFC 7504, a server returns 521 at connection-opening time instead of a 220 greeting to signal it never accepts inbound mail. The related code 556 ("domain does not accept mail") is returned by a relay when DNS (a null MX) shows the destination accepts none. Fix 521 by sending to a domain with valid MX records and a listening SMTP server; it reflects the recipient's configuration, not your sender authentication.
SMTP 521 is a permanent (5xx) reply code that means "Host does not accept mail." It is a real, standardized code: it was first described in the experimental RFC 1846 (1995) and formally incorporated into SMTP by RFC 7504 (June 2015), which ended the RFC 1846 experiment.
Per RFC 7504, 521 is "reserved for use at connection-opening time to indicate that the host does not accept mail under any circumstances." In other words, the moment your client opens the TCP connection, the server answers with 521 instead of the usual 220 greeting:
S: 521 example.com does not accept mailC: QUIT
RFC 7504's IANA update assigns 521 to enhanced status code X.3.2 ("host on which the mailbox is resident is not accepting messages") and assigns 556 to X.1.10. So a compliant 521 reply should be accompanied by 521 5.3.2 (or 4.3.2/2.3.2 per severity), not left bare.
RFC 7504 actually standardizes two codes. The distinction matters:
RCPT TO — when it can determine, without opening a connection to the final host, that the destination domain accepts no mail (such as via the DNS "null MX" convention, RFC 7505).If you see a relay reporting that the final destination accepts no mail mid-session, the standards-compliant code for that is 556, not 521.
521 is almost always a statement about the recipient host's configuration, not about your message or your sender authentication. Common triggers:
A server returning 521 may either send the reply and close the connection immediately, or stay open and answer 521 to every command except QUIT (RFC 1846 suggests a 5-minute timeout). Leaving the connection open helps clients treat the failure as permanent rather than retrying.
This is the most important distinction. RFC 7504 is explicit: 521 "SHOULD NOT be used for situations in which the server rejects mail from particular hosts or addresses or in which mail for a particular destination host is not accepted." So if you receive 521, it is generally not:
If your bounce text says "521" but also references "blocked sender" or authentication, the sending platform may be mislabeling a 550/554 policy rejection. Read the full reply string, not just the number.
dig MX recipient-domain.com. If you see a single MX of . (a null MX per RFC 7505), the domain has declared it accepts no mail — there is nothing to fix on your end; the address is undeliverable by design.With Courier
References
FAQ
Yes. It is a standardized SMTP reply code meaning "Host does not accept mail." It was first described in the experimental RFC 1846 (1995) and formally added to SMTP by RFC 7504 (June 2015). Its recommended enhanced status code is X.3.2.
One API, every provider
Courier connects to your email, SMS, and push providers, handles retries and failover, and surfaces delivery errors in plain language.
Reply-code definitions per RFC 7504; RFC 1846. Last reviewed Jul 1, 2026. Courier is not affiliated with third-party providers; error behavior may vary by implementation.
© 2026 Courier. All rights reserved.