13/21, seems like I am not significantly different from random guessing
Programmer Humor
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
Got the same, I can't believe how many weird comments and extra random things can get added into an email address.
I don't think it really matters what the standard is, because you'll be completely limited by some 25 year old bit of Regex from Stack Overflow that every web developer ever has implemented into their form sanity checks.
The main one that gets passed around will match the weirdness fine. In fact, it probably matches things you don't want, anyway.
A signin/registration form really only needs to do sanity checks to get rid of obviously bad addresses. You'll have to send a round-trip email confirmation message to make sure the email is real, anyway, so why bother going into great detail? Just check that there's an '@' symbol and a dot in the domain. Most of the rest is wanking off.
I scored 16/21 on https://e-mail.wtf/ and all I got was this lousy text to share on social media.
I feel pretty good about that
I don't care who the IRS sends, I am not validating emails with spaces on them.
You shouldn’t be validating emails yourself anyway. Use a library or check for only the @
and then send an email confirmation.
Even if it's a completely valid address and the domain exists, they still might've fat fingered the username part. Going to extreme lengths to validate email addresses is pointless, you still have to send an email to it anyway.
nice. though valid but obsolete is not a thing... if it's obsolete it's invalid.
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".
Complaints about the quiz? Send them to 💩@💩
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.
Also as the registrant of one of those new fancy TLDs, much like the owner of this website (email.wtf), their own email addresses will fail those stupid email validation checks that only believe in example@example.[com|net|org]
Shitty websites will fail "example@email.wtf", guaranteed - despite it being 100% valid AND potentially live.
Source - I have a ".family" domain for my email server. Totally functional, but some shitty websites refuse to believe it.
Let us recite the email validator’s oath:
If it has something before the
@
, something between the@
and the.
, and something after the.
, it’s valid enough.
The ultimate validation is to see if it gets sent.
I ~~rage quit~~ gave up at 12.
A fork bomb is apparently a valid email address.
I quit, this is stupid.
Question 5 is incorrect, name@example
is a fully valid email address, even after RFC 2822
The 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*atext
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 domains
Google even owns a gmail
TLD so I wouldn't even be surprised if they decided to use it
I don't know if they changes the answer to the question, but it now says name@example
is valid.
It does say it's valid, but also that it's obsolete, and while the RFC does define valid but obsolete specs, there is nothing defining domains without a dot as obsolete, and it is in fact defined in the regular spec, not the obsolete section
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.
I don't validate emails, I test them.
That's your email? OK, what did we send it? if we couldn't send to it or the user can't read it there's no reason to accept it.
OK, maybe I do some light validation first, but I don't trust the email address just because it's email-address-shaped.
I gave up when I got like 5 wrong. I've ran mail servers for decades, most of the invalid "valids" would get rejected by any mailservers I've administered.
I lost it at the fork bomb. I mean I hit valid because there was no way it was on the and not valid, but there's no way i'd have expected that. after that I just kept guessing the most stupid answer and did pretty well
I vaguely remember a panel where a guy went through various cases like these.
One of the things that stood out is that not every email provides implements the same specs, so one provider might allow you to set up a "valid" email address that might not be able to communicate with other providers as they consider it "invalid".
I scored 16/21 on https://e-mail.wtf/ and all I got was this lousy text to share on social media.
Damn, and here I thought I had this locked down because I was salty that so many places struggle with +
in the email addy. But my god, there's comments?
Two 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.
So much better than I thought it would be! Thank you for making the world a better & more informed place
I scored 14/21 on https://e-mail.wtf/ and all I got was this lousy text to share on social media.
I actually died at the poop emoji one. Actually amazing awareness to test for that
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
TIL that emoji transcend spoilers.
I scored 13/21 on https://e-mail.wtf/ and all I got was this lousy text to share on social media.
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.
13 right answers and I didn't expect so many lol
I'll never validate some of the 💩 I've learnt today.
14 / 21
This is the score you get when you answer "valid" for every question. Good job.
My score was lower 💀
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.
12/21
are things that are considered out of current spec really "valid" though?