Deep Email Validator

Dev tools

email validation library

SHOW HN2020

51points
34comments
#1,058of 3,028 in 2020
Top 35%of 2020 by points

How HN took it

MixedNo clear lean

3 positive, 8 neutral or asking, 0 mixed, 10 critical, out of 21 comments about the project. Thread score -0.37.

Execution: 2 for, 5 againstIdea: 1 for, 5 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Naive regex catches most syntax problems cheaply

    From 1 comment
    • OTOH, that code looks as if it'll find the vast majority of the problems more careful analysis could find, both simply and without bad consequences. All that happens if that…
      Arnt on HN
  • Immediate feedback on typos is good UX

    From 1 comment
    • It is good UX to let user immediately know if they enter a typo or an e-mail that is bound to fail. It is a real waste of time if user enters wrong e-mail and keeps refreshing…
      mewpmewp2 on HN

Objections

  • Email validation is unnecessary; verify by sending mail instead

    From 2 comments
    • For most applications email validation is really not nesecarry. instead a service can rely on email verification. If the address is invalid, mails sent to it will never arrive at…
      madsbuch on HN
    • There is exactly one right way to validate an email: send a message to it. Email is a very old protocol with a lot of hacks and backwards compatibility. At this point, pretty…
      jedberg on HN
  • Checking MX alone is wrong; RFC 5321 falls back to A/AAAA records

    From 2 comments
    • Presence of an MX record should _not_ be used as a litmus test for a valid email domain. RFC 5321 section 5 specifies that you lookup the MX and, if absent, use the A/AAAA…
      runlevel1 on HN
    • If an MX record isn't present you can fall back on the A-record. (If, and only if, no MX record for the domain is present, treat the domain as if it had an MX record with the…
      stevekemp on HN
  • SMTP checks can break on catch-all or aliased addresses

    From 2 comments
    • Hopefully this doesn't get used in some kind of registration flow in full since for example if you register with an aliased address, or you have a catchall address or email is…
      sdfhbdf on HN
    • I bet this would fail on my catch all email since it checks if the mailbox exists, right?
      that_guy_iain on HN
  • Rejects valid but unusual addresses such as dotless domains and IPv6 literals

    From 2 comments
    • The first line mentions: > Validates email looks like an email i.e. contains an "@" and a "." to the right of it. But what about emails coming from a hostname without a dot, or a…
      nickjj on HN
    • foo@2001::01 is a valid email address, no? So is using the alternative dotless representation of the IPv4 addresses.
      IgorPartola on HN

Requests

  • Describe it as an address validator rather than email validator

    From 1 comment
    • You might save a little bit of confusion by calling it an email "address" validator.
      bo1024 on HN
  • Support disposable email addresses rather than blocking them

    From 1 comment
    • I'm not a big fan of denying disposable email services. For that reason, I'll pass.
      293984j29384 on HN

Questions

  • How does it handle timeouts?

    From 1 comment
  • Will it fail on catch-all mailboxes?

    From 1 comment
    • I bet this would fail on my catch all email since it checks if the mailbox exists, right?
      that_guy_iain on HN

Alternatives named

  • Email verification services that send a confirmation message

    From 1 comment
    • For most applications email validation is really not nesecarry. instead a service can rely on email verification. If the address is invalid, mails sent to it will never arrive at…
      madsbuch on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/25440220)