"Email is Easy" email address quiz

22 samwho 22 8/17/2025, 5:45:32 PM e-mail.wtf ↗

Comments (22)

stavros · 38m ago
This is fun, but it feels suspiciously close to my old presentation about the exact same thing:

https://www.youtube.com/watch?v=xxX81WmXjPg

Maybe it's just a coincidence, but a shoutout would have been nice if not.

samwho · 33m ago
Coincidence. I hadn’t seen this.

I got my examples mostly from looking through https://github.com/jackbearheart/email-addresses/blob/master... and reading the EBNF in RFC 5322.

Will watch your video!

Dilettante_ · 34m ago
Same guy made https://jsdate.wtf, also posted to HN, and also containing material from someone else's talk I'm pretty sure.

Edit: I was wrong!

samwho · 30m ago
Similar to this I got my examples for jsdate.wtf through reading the v8 date parsing code and experimentation. Wasn’t aware there was a talk with similar examples for JS dates, would be interested to see it.
Dilettante_ · 23m ago
My bad, I was thinking about a much older talk[1], maybe something about the theme activated the same neurons. Sorry for making an accusation like that for what turns out was no reason.

[1]https://www.destroyallsoftware.com/talks/wat

samwho · 19m ago
It’s okay <3 it doesn’t surprise me that both of these topics have been covered before, and both are fairly small input spaces so there’s bound to be similarities or overlap.

I do love Gary’s “wat” talk, it was certainly part of the inspiration to make these.

mdaniel · 43m ago
As far as I know, that emoji question due to the same reason IDN is allowed in URLs, and they even went as far as their own RFC for it https://datatracker.ietf.org/doc/html/rfc6530 (very similar to the 6532 cited repeatedly, but more important(?) because every system in between the sender and recipient needs to know about hops, whereas the recipient is the terminal node's problem

The LHS is, as far as I know, because the LHS of _all_ email addresses is "if it's deliverable", modulo the rest of the call-outs from the rest of the quiz

xigoi · 49m ago
I scored 17/21 on https://e-mail.wtf and all I got was this lousy text to share on social media.
zvr · 13m ago
There should have been questions without "@" as well...
samwho · 8m ago
Are there valid emails without an @? I’m very vaguely aware of bang paths but didn’t want to include them because they’re a bit too esoteric.
docsaintly · 2h ago
I think using example.com is a bit of a trick question. It is known as an example domain which is invalid for all purposes, except of course for serving as an example. :)

https://www.iana.org/help/example-domains

TMWNN · 21m ago
Yes. If I'd known that other questions would also use example.com, I would have answered the first question correctly.
wredcoll · 1h ago
I've actually been wondering for a while if example.com is a valid example email address.
mdaniel · 53m ago
Well, "valid," yes, but "deliverable" thankfully, no

  $ dig MX example.com.

  ;; ANSWER SECTION:
  example.com.  3600 IN MX 0 .
Almost certainly the same for its .org .net and .example friends. There were some other TLDs that were designed for use in documentation, but I don't have the RFC in front of me right now to cite them
SoftTalker · 49m ago
Some of the other examples which are "technically valid but obsolete" I would consider safe to call invalid for practical purposes.
samwho · 37m ago
Yeah, I almost put a disclaimer at the end saying that while these examples are valid according to the spec, that has no bearing on whether they’re usable in practice. Email is the Wild West.
olddustytrail · 44m ago
Exactly. Not valid because it can't be routed.
ch33zer · 52m ago
Love it. Minor but question 8 should maybe be 'trailing' instead of 'tailing'?
samwho · 36m ago
Good eyes! Code is at https://github.com/samwho/e-mail.wtf if you’d like to open a PR
rpgraham84 · 50m ago
would be nice if what valid means was clearly defined before the test. what the rfc's regex allows is probably the least useful way to think about email validation.
samwho · 28m ago
I do have a short sentence on the homepage saying I used https://github.com/jackbearheart/email-addresses as the validator for the examples. It could be more clearly defined, though.
mdaniel · 38m ago
I see some of the sibling comments seem to imply that "valid" means that it's deliverable at that moment in time, which would make producing a quiz like this some nonsense because then they'd have to actually register xn--tp8h as a domain, and create an MX record for it