250: Requested Action CompletedSMTP code 250 is the general-purpose success response used throughout the SMTP conversation. It confirms that the server accepted the previous command. You will see 250 after EHLO/HELO (listing server capabilities), after MAIL FROM (accepting the sender envelope address), after RCPT TO (accepting a recipient), and after the final dot in DATA (confirming the message was queued for delivery). Each 250 response at a different stage means something slightly different, but all indicate the command was processed without error.
250 Requested Action CompletedS: 220 mail.example.com ESMTP ready
C: EHLO sender.example.com
S: 250-mail.example.com
S: 250 SIZE 52428800
C: MAIL FROM:<[email protected]>
S: 250 OK
C: RCPT TO:<[email protected]>
S: 250 OK
C: DATA
S: 354 Start mail input; end with <CRLF>.<CRLF>
C: Subject: Hello
C:
C: Test message.
C: .
S: 250 2.0.0 OK queued as A1B2C3Connect manually and issue each command in sequence to see where 250 appears and where it does not. This identifies the exact point of failure in your mail flow.
openssl s_client -connect mail.example.com:587 -starttls smtp
If 250 is returned for MAIL FROM but delivery still fails later, check that the sending domain has correct MX records and a valid SPF record that authorizes the sending server.
dig TXT example.com +shortCheck DNS Records
The 250 response after DATA usually includes a queue ID (e.g., '250 2.0.0 OK queued as ABC123'). Use this ID to track the message through the server's mail logs if delivery does not complete.
The server recognized the client's greeting and responded with its capabilities (for EHLO) or a simple acknowledgment (for HELO). This is the normal second step in the SMTP handshake after the 220 banner.
After MAIL FROM or RCPT TO, 250 confirms the server will accept mail from the specified sender or to the specified recipient. The server has verified the address syntax and, in many cases, confirmed the mailbox exists.
The final 250 response after the message body (terminated by a lone dot on a line) confirms the server has accepted the message and queued it for delivery. The server typically includes a queue ID in this response.
After a RSET command, 250 confirms the current mail transaction has been aborted and the server is ready for a new MAIL FROM. This is used when a client needs to start over without disconnecting.
The SMTP server is ready to begin a mail transaction and has announced its greeting banner.
The server is ready to receive the message body. End the message with a single dot on a line by itself.
The recipient's mailbox does not exist, or the server has permanently rejected the message due to policy.
The email address syntax is invalid or the mailbox name violates server naming rules.
| Specification | Section |
|---|---|
| RFC 5321 | RFC 5321 §4.2.2 |
This reference was compiled from official RFCs, protocol specifications, and hands-on troubleshooting experience. AI tools were used primarily for formatting and organizing the content on the page.