{
  "id": 9156008,
  "title": "SMTP 250 OK Doesn't Mean Delivered. 12 of 50 Emails Bounced.",
  "url": "https://urgent.news/2026/09/22/smtp-250-ok-doesnt-mean-delivered-12-of-50-emails-bounced",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-22T15:43:08.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/onizuka/smtp-250-ok-doesnt-mean-delivered-12-of-50-emails-bounced-nlk"
  },
  "original_language": "en",
  "account": "Last Tuesday, a small experiment was conducted using 50 email addresses that had already passed two layers of validation. Out of the 50, 48 returned a 250 OK response, indicating a successful handshake. However, when a plain-text message was sent to each address, 12 bounced back. This outcome highlights a common misconception about the reliability of the SMTP 250 OK response. The 250 OK code only confirms that the email server will accept the envelope, but it does not guarantee that the email will reach a human or that the inbox is still being checked. Most validation pipelines stop at this point, parsing the string, pinging the MX, and verifying the SMTP layer. However, this approach can lead to false positives. To better understand the deliverability of an email, it is essential to look beyond the SMTP layer. The experiment involved testing the same batch of 50 email addresses using an email validation endpoint. The results revealed that 12 addresses were deemed valid based on syntax and MX verification, but they were also flagged as role-based email addresses, disposable email addresses, or had a breached history. This further emphasizes the need to consider additional factors when validating email addresses to ensure accurate deliverability and avoid sending messages to non-existent or invalid inboxes.",
  "summary": "api, #cybersecurity, #webdev, #python The 250 OK Lie I Measured Last Tuesday Last Tuesday I ran a small experiment: I took 50 email addresses that had already passed two layers of validation, regex syntax and a live SMTP handshake, and 48 of them returned 250 OK . I then sent a real, plain-text message to each one. Twelve bounced. Not rejected at the gate. Not caught by spam filters. Bounced. If…",
  "key_points": [
    "SMTP 250 OK indicates successful server handshake but doesn't guarantee delivery",
    "12 out of 50 test emails bounced despite passing initial validation",
    "Validating email addresses requires considering role-based, disposable, and breached addresses"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}