Urgent.News

What's breaking now, across thousands of outlets.

Tech

SMTP 250 OK Doesn't Mean Delivered. 12 of 50 Emails Bounced.

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…

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.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

I Tried to Put AI Into the Race. Then I Realized It Didn't Need AI.

In the previous post, I started working out what EvoWild Run is actually supposed to be as a game. Raise Creatures. Breed them. Continue their lineages across generations.

  • Initially considered controlling race creature directly, but decided against it.
  • Experimented with AI Race Agent for pre-defined commands, but deemed optional.
  • Core mechanics function without AI, Live AI unnecessary for initial version.

Building an Embedded Raft SDK for Existing Node.js Services

Sometimes an application needs Raft semantics, but it does not need another general-purpose distributed system. An existing scheduler, control plane, metadata service, or coordination service may…

  • node-raft-rsm SDK provides Node.js services with Raft consensus capabilities.
  • Developers define commands, state machine, storage, transport for integration.
  • SDK focuses on RaftNode creation, proposal, reading, and stopping operations.

More from Tuesday 22 September →