Question 5 is incorrect,
name@example
is a fully valid email address, even after RFC 2822The spec of RFC 2822 defines an address (3.4.1) as:
local- part "@" domain
domain
is defined (3.4.1) as:domain = dot-atom / domain-literal / obs-domain
dot-atom
is defined (3.2.4) as:dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext)
1
meaning at least 1 alphanumeric character, followed by*("." 1*atext)
meaning at least 0"." 1*atext
If tomorrow, google decided to use its
google
top-level domain as an email domain, it would be perfectly valid, as could any other company owning top-level domainsGoogle even owns a
gmail
TLD so I wouldn’t even be surprised if they decided to use itTwo of my “favorite” features it didn’t even touch on. You can have nested comments:
foo(one(two(three(four(five(six(seven)))))))@example.com
This will actually fail on that big email regex that gets copied around (originally from Mastering Regular Expressions in 1997), because it can only handle comment nesting to a depth of six. It is actually possible to do indefinite nesting now with recursive regex, but it was developed before that feature existed.
RFC822 also allows routing addresses through multiple servers:
<@foo.example.com@bar.example.com:123@example.com>
But this is almost always denied on modern email servers because it was abused by spammers.
I scored 13/21 on https://e-mail.wtf/ and all I got was this lousy text to share on social media.
Tap for spoiler
Email addresses can have comments?!
👉@👈
I had to make an email address just for paypal because those idiots don’t accept subdomains in email addresses.
Pizza Hut doesn’t allow dashes in the domain. This prevents me from ordering Pizza Hut with the email under my personal domain. This can be considered a feature.
My top five from this (all valid):
- ":()␣:;:"@example.com # fork bomb
- 👉@👈 and poop@[💩]
- “@”@[@]
- c̷̨̈́i̵̮̅l̶̠̐͊͝ȁ̷̠̗̆̍̍n̷͖̘̯̍̈͒̅t̶͍͂͋ř̵̞͈̓ȯ̷̯̠-̸͚̖̟͋s̴͉̦̭̔̆̃͒û̵̥̪͆̒̕c̸̨̨̧̺̎k̵̼͗̀s̸̖̜͍̲̈́͋̂͠@example.com
- fed-up-yet@␣example.com␣ # ␣ = whitespace
Spoilers!
deleted by creator
14 / 21
This is the score you get when you answer “valid” for every question. Good job.
My score was lower 💀
I didn’t do that but got 14 anyway.
Also didn’t do that, but that was the text
Relevant talk from FOSDEM 2018 (warning: poor audio quality): https://youtu.be/xxX81WmXjPg
Thanks to RFC 6532, Zalgo text is a-okay.
hmmm…
Yay! You’re average! Time to start making plans for what you’ll do when an LLM takes your job.
I already have plans.
I scored 16/21 on https://e-mail.wtf/ and all I got was this lousy text to share on social media.
This was fun!
Edit: people, upvote the OP, not me
13/21 here. Mostly got hung up on several “this was valid in earlier RFC, and later removed” kind of situations. There are several where I picked the correct answer, but where I know many websites that won’t accept it as valid, and that’s not even the more esoteric ones.
Yeah I feel like the correct answer for anything obsoleted by a more recent RFC should be “Invalid”.
But they will work, and according to the spec, you have to build your system so that it can handle those cases. Obsolete doesn’t mean incorrect or invalid, just a “you shouldn’t do this any more”.
Obsolete Syntax
Earlier versions of this standard allowed for different (usually more liberal) syntax than is allowed in this version. Also, there have been syntactic elements used in messages on the Internet whose interpretation have never been documented. Though some of these syntactic forms MUST NOT be generated according to the grammar in section 3, they MUST be accepted and parsed by a conformant receiver.
I got 14/21
Samsies
Yay! Same. But only because I’ve already heard of some email craziness before.
yay 16/21 club
THIS THING IS STUPID!!!
Or it’s just me that is the fool. Thanks for sharing. I just learned about 9 new things.
All of the modern internet is built on the decaying carcasses of temporary solutions and things that seemed like a good idea at the moment but are now too widely used to change.
Jesus effin Christ! I had no idea! This is madness! This is … Omfg I just can’t
15
Going to have to try some of those… Can you actually register emojis as a domain, or is that just the email validation that allows them?
Edit: most TLDs don’t. Smaller ones do sometimes.
Emoji domains can be registered using punycode, and you’re right that it’s up to the TLD whether they’re allowed or not.
For example: http://📙.la/🐶
📙.la is encoded using punycode to http://📙.la/
🐶 is URL-encoded to %F0%9F%90%B6
Giving the ‘true’ URL http://📙.la/🐶 which then redirects to https://emojipedia.org/dog-face
Emails should generally use
@xn--yt8h.la
instead offor maximum compatibility. I’m not sure if the email spec allows punycode.
I can’t even view it…I get a TLS error