News for hackers. Stuff that matters.
Re:I couldn't buy a car because my email address was 'invalid' by zach_garwood on Monday July 27, 2020 @12:44PM (#23966797)
I maintain that the only reasonable way to validate an email address is to send it a message and hope for a reply. Every other method I've ever tried has failed in some silly way, as described in the article.
Re:I couldn't buy a car because my email address was 'invalid' by geoelectric on Monday July 27, 2020 @03:13PM (#23968365)
As far as I know, that literally is the only way to validate an email address, universally speaking, beyond an internal whitespace check.

But I think if you take "local" out of the equation, as you would for customer emails, you can validate a bit more. You might be able to validate on a single @ being in there somewhere, with something before and after it, maybe look for a period after the @ for "[email protected]" as I think every external address needs a dotted domain.

That's about as far as I think you can safely go. Anything else is legal.

Re:I couldn't buy a car because my email address was 'invalid' by sohex on Monday July 27, 2020 @05:42PM (#23969737)
Well, maybe not a single @. At least one @ maybe. There's a set of special characters that aren't permitted in the local part of an email address including @... unless they're quoted. So "@"@example.com is a valid address.
Re:I couldn't buy a car because my email address was 'invalid' by geoelectric on Monday July 27, 2020 @06:04PM (#23969950)
Oof, thanks. I forgot you could quote the @ and thought it was the one universally illegal character. Also forgot there were others, oops.

I usually just recommend people don't validate email addys and let the email verification message do the job for you. This is pretty much why.

Re:I couldn't buy a car because my email address was 'invalid' by arp242 on Monday July 27, 2020 @03:48PM (#23968711)
Domains labels are fairly strictly defined, so you check that a bit more stringently.

> as I think every external address needs a dotted domain.

Something like example@com is technically a valid email address; although I don't know if there are any TLDs which accept emails.

Re:I couldn't buy a car because my email address was 'invalid' by geoelectric on Monday July 27, 2020 @06:05PM (#23969964)
That's true, I didn't think about that case.

I don't think I've ever seen a bare TLD in real life like that though--maybe very early on as DNS became a thing? Not since the web though.

Re:I couldn't buy a car because my email address was 'invalid' by dgellow on Monday July 27, 2020 @02:06PM (#23967733)
Yep, I agree. On frontend, use a very simple validation such as /.+@.+\..+/ (better to use string splits IMHO, but you see the idea) just to give users some feedbacks in case of a clearly invalid email.

On the backend send an email and let the user confirms.

Re:I couldn't buy a car because my email address was 'invalid' by SamReidHughes on Monday July 27, 2020 @01:26PM (#23967275)
Sometimes you need to harvest email addresses and want to distinguish them from junk data. If you're actually developing the algorithm in the face of real data, you'll get a good validator.