SMTP
SMTP 250 is the standard success reply — not an error. A 250 after DATA means queued, not delivered. Learn when 250 OK still warrants investigation.
Updated Jul 1, 2026
The short answer
SMTP 250 is not an error — it is the standard success reply (RFC 5321 §4.2.1, "Requested mail action okay, completed"). The receiving server returns it after accepting a command such as HELO, MAIL FROM, RCPT TO, or DATA. No fix is needed. Note that a 250 after DATA means the server queued the message, not that it reached the inbox.
TL;DR: SMTP 250 is a success code, not an error. Per RFC 5321 §4.2.1 it means "Requested mail action okay, completed." If you see 250 in a log, the command worked — there is nothing to fix.
No. SMTP reply codes in the 2yz class are Positive Completion replies — the command was received, understood, and accepted (RFC 5321 §4.2.1). 250 specifically is the most common success response in an SMTP conversation. Any documentation that describes 250 as an authentication failure or a TLS/cipher misconfiguration is incorrect; those conditions produce 4xx or 5xx codes (e.g. 535 for bad auth, 530 when auth is required), never 250.
A server emits 250 after successfully processing most commands. The same code appears at several stages, so context matters:
EHLO/HELO — Typical 250 response: 250-mail.example.com (+ extension lines); Meaning: Session opened; capabilities advertisedMAIL FROM — Typical 250 response: 250 2.1.0 Sender OK; Meaning: Envelope sender acceptedRCPT TO — Typical 250 response: 250 2.1.5 Recipient OK; Meaning: Recipient address acceptedDATA (after the message body + .) — Typical 250 response: 250 2.0.0 OK: queued as <id>; Meaning: Message body accepted and queuedThe three-part code after 250 is an enhanced status code (RFC 3463): 2.0.0 = generic success, 2.1.0 = Other/Undefined address status — RFC 3463 has no code specifically meaning "sender valid"; many MTAs (Postfix, Sendmail) conventionally reuse X.1.0 to report a clean MAIL FROM, but per the RFC it is only a generic address-status catch-all, 2.1.5 = destination address valid.
This is the one thing worth understanding about 250. A 250 after DATA means the receiving (or relay) server took responsibility for the message — it does not mean the message landed in the recipient's inbox. After acceptance the message can still be:
Mailbox and relay providers make this explicit: Twilio SendGrid notes that a 250 OK confirms only that the receiving server accepted the message for delivery, not that it reached the inbox — subsequent spam filtering, blocking, or DSN bounces can still occur downstream. So if a message was "accepted" but never arrived, stop looking at the 250 and instead check your provider's bounce/event webhooks, the recipient's spam folder, and your SPF/DKIM/DMARC alignment.
You only need to act if a 250 is what you expected but the mail still didn't arrive. In that case the 250 is a red herring — the problem is post-acceptance:
References
FAQ
No. SMTP 250 is a success reply. Per RFC 5321 §4.2.1 it means "Requested mail action okay, completed" — the server accepted the command (HELO, MAIL FROM, RCPT TO, or DATA). There is nothing to fix when you see a 250.
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 5321 §4.2.1. Last reviewed Jul 1, 2026. Courier is not affiliated with third-party providers; error behavior may vary by implementation.
© 2026 Courier. All rights reserved.