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.

CodeWhat it saysIn one line
535535 5.7.8 Authentication failedThe server understood your AUTH command and rejected the credentials, or refuses password authentication for this account entirely.
550550 5.7.1 Relay access denied / Relaying not permittedThe 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.
554554 5.7.1 Rejected due to high probability of spam / policy rejectionA 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.
421421 4.7.0 Too many connections / try again laterA temporary refusal of the whole connection: the server is telling you to come back later.
450/451450 4.7.1 / 451 4.3.0 temporary failure, greylisted, mailbox unavailableThe server refused this command temporarily but kept the session.
530530 5.7.0 Must issue a STARTTLS command first / Authentication requiredA policy precondition was not met: the server requires encryption before AUTH, or requires AUTH before MAIL FROM.
timeoutConnection timed out (port 25/465/587)Your TCP SYN got no reply at all — not a refusal, silence.
ECONNREFUSEDConnection refused (ECONNREFUSED)The TCP connection was actively rejected (RST).
552552 5.3.4 Message size exceeds fixed maximum / mailbox fullThe 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..
WordPressWP Mail SMTP / WordPress not sending emailwp_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.

Updated 2026-08-30.

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.