SMTP error codes, explained and fixed
Paste the code your app or mail client showed you. Each page lists the causes in order of likelihood and the exact fix per provider.
Reading the code: 2xx success · 3xx continue · 4xx temporary, retry later · 5xx permanent, fix the cause. The enhanced code (e.g. 5.7.1) narrows it: x.7.x policy/security, x.1.x addressing, x.2.x mailbox, x.3.x mail system, x.4.x network.
| Code | What it says | In one line |
|---|---|---|
535 | 535 5.7.8 Authentication failed | The server understood your AUTH command and rejected the credentials, or refuses password authentication for this account entirely. |
550 | 550 5.7.1 Relay access denied / Relaying not permitted | The server accepted the connection but refuses to relay this message: it does not consider you an authorised sender for that From address, that recipient, or at all. |
554 | 554 5.7.1 Rejected due to high probability of spam / policy rejection | A permanent rejection after DATA (or at connection) by the receiving server's policy: it decided the message, the sending IP or the domain is not wanted. |
421 | 421 4.7.0 Too many connections / try again later | A temporary refusal of the whole connection: the server is telling you to come back later. |
450/451 | 450 4.7.1 / 451 4.3.0 temporary failure, greylisted, mailbox unavailable | The server refused this command temporarily but kept the session. |
530 | 530 5.7.0 Must issue a STARTTLS command first / Authentication required | A policy precondition was not met: the server requires encryption before AUTH, or requires AUTH before MAIL FROM. |
timeout | Connection timed out (port 25/465/587) | Your TCP SYN got no reply at all — not a refusal, silence. |
ECONNREFUSED | Connection refused (ECONNREFUSED) | The TCP connection was actively rejected (RST). |
552 | 552 5.3.4 Message size exceeds fixed maximum / mailbox full | The server refused the message because of a size or storage limit — either yours is too big for their maximum, or the recipient's mailbox has no room.. |
WordPress | WP Mail SMTP / WordPress not sending email | wp_mail() returned false or the SMTP plugin's test failed. |
Not sure which applies? The SMTP tester reproduces the conversation from our network and shows the server's actual reply.
Three-digit replies: 2xx success, 3xx continue, 4xx temporary failure (retry later), 5xx permanent failure (fix the cause first). The enhanced code after it (e.g. 5.7.1) narrows the reason: 5.7.x = policy/security, 5.1.x = addressing, 5.3.x = mail system, 5.2.x = mailbox.
Related Guides
Continue learning with these related articles