Hacker Newsnew | past | comments | ask | show | jobs | submit | _0gld's commentslogin

During the pandemic, I launched [link redacted], an open-source tool to check if an email exists, without sending any email. Not sure what "successful" means here, but I have a couple dozens of customers, which for me is a success.


I'll definitely check this out. This would make it easier to move things from LinkedIn messaging (super annoying and low-frequency for many people) to email. There used to be a Chrome extension that made this possible (Rapportive?), but I think they got acquired by LI. Are there other efficient ways of doing this? I'm not looking to spam strangers — just to migrate conversations with actual connections off the LI platform.


Very cool! How does this actually check without sending any email?


From the GitHub source, it connects to the mail server for the domain’s MX record and issues a “RCPT TO:” command and looks for a non-rejection. Back when I was managing email servers, this option was typically disabled to prevent address enumeration and I’d be surprised if it still works reliably.

Many mail servers function by answering all “RCPT TO:” commands (for the domains served) with a success message that is effectively “Yeah, sure... give it a try” and, if the mailbox doesn’t exist, will email the sender a bounce message.


You can initiate a connection with the mail server, and then query it. I read about it years ago, never done it myself though.


Worth pointing out that it’s possible to configure an email server to not respond to these types of queries and many high-value targets (large corporate email systems) do.


Interesting, I wrote a similar tool some time ago, in Rust: [link redacted]

I'm using a similar technique to check deliverability, i.e. parsing SMTP responses.


I built an open-source email verification API: [link redacted]. It checks if an email exists without sending any email.

I released the open-source lib some years ago, and built a Saas only this year in April. It started generating revenue (~$100MRR) since September, and I'm not really touching it anymore.


I built a tool to check if an email exists without sending any email. I also created a SaaS out of it: [link redacted].

The tool connects to the target email's SMTP server, and parses the response of the "RCPT TO" command. To avoid IP blacklisting, I use Tor.

The code is in Rust, 100% open-source. The core library is here: [link redacted]


Hah, I did something very similar with MailExists [1], but not Open Source and using expensive proxies instead of TOR ;-)

[1] https://www.mailexists.com/


Aren’t Tor exit nodes mostly blocked already?


> mostly

Using Tor, I can verify around ~60% of emails. Notably, the exit nodes can connect to Gmail/GSuite servers. So it's not that bad.

If Tor's exit nodes are blocked by a server, I fallback to Heroku, where I have right now 3 fixed-IP instances. And if I see that one of these also gets blacklisted, I would have it self-destruct and relaunch, Heroku assigns a new IP on each new instance.


Does Heroku reuse these IP addresses? Can someone get them after you?


I unfortunately don't know the answer to these two questions.


There's a study[1] by Richard Muller from Berkeley Earth that proposes an equivalence between air pollution and daily cigarettes smoked. He uses the number of deaths caused by these 2 factors as a common denominator to calculate the equivalence.

I believe cognitive cost would also be a good denominator. Something like "we find that an increase of 10 µg/m³ raises the probability of a chess player making an error by 1.5 percentage points. The same 1.5 percentage points would be caused by smoking 2 cigarettes per day."

Plug: I'm the author of an open-source mobile app[2] which does this pollution-cigarettes conversion. I think cigarettes gives a strong image of air quality for those who are unfamiliar with AQI.

[1]: http://berkeleyearth.org/air-pollution-and-cigarette-equival... [2]: https://shootismoke.github.io/


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: