I also reached out to them on Twitter but they directed me to this form. I followed up with them on Twitter with what happened in this screenshot but they are now ignoring me.
When you insist on implementing your own email address validation…
I have my own domain that uses a specific 2-letter ccTLD - it’s a short domain variation of my surname (think “goo.gl” for Google). I’ve been using it for years, for my email.
Over those years, I have discovered an astonishing number of fuckheaded organisations whose systems insist I should have an email address with a “traditional” TLD at the end.
A few years back I bought a .family domain for my wife and I to have emails at ourlastname.family That lasted a week because almost every online service wouldn’t accept it. Now we have a .org
Doesn’t surprise me one bit. I’ve noticed that a lot of websites will only accept
.com
and a few will only accept email addresses from popular providers (Gmail, Hotmail, outlook, etc.)My guess is that it’s trying to reduce spam and fake account generation.
My guess is that it’s trying to reduce spam and fake account generation.
Thus preventing the growth of any small providers and further entrenching Microsoft, Google, Apple, and a handful of others as the only “viable” options.
Feels very relevant to the fediverse, with how people tend to compare it to email.
Yeah, that’s it pretty much.Like 99% of your legitimate users are going to be standard gmail/yahoo/hotmail/etc. You see a user from ten minute mail, it’s probably some shady shit.
Not necessarily shady.
I use 10 minute email if a merchant requires me enter an email account before seeing the total price on an item (including shipping). That’s the most common pattern I’ve seen. My guess is that they want to ping you to complete the purchase.
Or a website might require free registration in order to view the content.
One place I use 10-minute email is actually Spotify. I didn’t want to give them my Gmail address since your name is exposed to the world via their sharing API.
Don’t get me wrong, there are a lot of bad uses for it as well. But privacy minded people use it too.
ELI5 the bit about spotify’s sharing API?
When you share your playlist or have Spotify hooked up to some other service like discord, it shows the name associated with the account.
And changing that name is not as straight forward as you might think.
Given the fact that it’s shared so easily, I wouldn’t be surprised if email addresses could be exposed with the right options.
I went with .io specifically for this. It doesn’t look special or anything, it’s just cheaper than .org and accepted anywhere I’ve tried, so far.
What registrar do you use? Last time I checked .io domains where like 4x the price of a .org
Namecheap. But it might also have to do with my domain not being very popular. Not sure.
Ah that makes sense. So far I’ve been using Namexpensive
I hate it.
Same. There are a lot of sites that just outright refuse to accept my email address that I’ve had for years, because it’s not a .com TLD.
My first email address was @k.ro (a free email provider many many years ago) and many websites thought a valid second-level domain name cannot be just one letter
I’d love to know where they got the idea that the spec doesn’t allow that…
The only useful email validation is “can I get an MX from that” and “does it understand what I’m saying in that SMTP”. Anything else is someone that have too much free time.
It’s easier to Google “email regex [language]” and copy the first result from stack overflow.
Definitely a timesaver. Much faster to get incorrect email validation that way then to try building it yourself.
Skip the building step and go straight to pulling your hair out over why it’s not working! Efficiency!
That probably lead to this exchange.
Stack Overflow is useful, but…it needs more than a little parsing for useful answers.
I know (hope) you’re being facetious, because the objectively best way to do email validation is to send a fuckin email to the provided address.
To be valid, the email just has to match [anything@anything]. ,🙃@localhost can be perfect legal if localhost supports utf8 in usernames.
Or implement a validator from a known good library.
I’ve encountered this because my domain has a hyphen in it. Very irritating.
@spider-man.net?
I’m not aware of any correct email validations. I’m still looking for something accepting a space in the localpart.
Also a surprising number of sites mess with the casing of the localpart. Don’t do that - many mailservers do accept arbitrary case, but not all. MyName@example.com and myname@example.com are two different mail addresses, which may point to the same mailbox if you are lucky.
The only correct regex for email is:
.+@.+
So long as the address has a local part, the at sign, and a hostname, it’s a valid email address.
Whether it goes somewhere is the tricky part.
Sorry, this is not a correct regex for an email address.
Sending using
mail
on a local unix system? You only need the local part.STOP VALIDATING NAMES AND EMAIL ADDRESSES. Send a verification email. Full stop. Don’t do anything else. You really want to do this anyway, because it’s a defense against bots.
*Gasp* the registration is coming from inside the colo!
Yes, but no. Pretty much every application that accepts an email address on a form is going to turn around and make an API call to send that email. Guess what that API is going to do when you send it a string for a recipient address without an @ sign? It’s going to refuse it with an error.
Therefore the correct amount of validation is that which satisfies whatever format the underlying API requires.
For example, AWS SES requires addresses in the form UserName@[SubDomain.]Domain.TopLevelDomain along with other caveats. If the application is using SES to send emails, I’m not going to allow an input that doesn’t meet those requirements.
Therefore the correct amount of validation is that which satisfies whatever format the underlying API requires.
You mean the validation which the underlying API will perform on its own? You don’t need to do it.
I disagree. You should have validation at each layer, as it’s easier to handle bad inputs and errors the earlier they are caught.
It’s especially important in this case with email because often one or more of the following comes into play when you’re dealing with an email input:
- You’re doing more than sending an email (for ex, creating a record for a new user).
- The UI isn’t waiting for you to send that email (for ex, it’s handled through a queue or some other background process).
- The API call to send an email has a cost (both time and money).
- You have multiple email recipients (better hope that external API error tells you which one failed).
I’m not suggesting that validation of an email should attempt to be exhaustive, but a well thought-out implementation validates all user inputs. Even the underlying API in this example is validating the email you give it before trying to send an email through its own underlying API.
Passing obvious garbage inputs down is just bad practice.
I think it’s fair to prevent users from causing mail sent to your internal systems. It probably won’t cause any issues getting mail to the machine inbox for (no domain name), but it reasonably makes security uneasy.
The statement I was responding to was “This is the correct email regex”. There is no correct email regex. Don’t parse emails with a regex. You probably don’t need to parse emails at all.
Here’s my address: @@@@@
And this right here is a great example of why simple basic RegEx is rarely adequate
At the very least, should be something like
^[^@\s]+@([^@\s.]+\.)+[^@\s.]+$
I’m like 99% sure I missed at least a few cases there, and will say “please don’t use this for anything production”
Here’s two: you can have multiple @s forming relays in an email address, and you can also break all the rules around dots and spaces if you put quotes around the local part, eg ".sarah.."@emails.com
And this is exactly why I wouldn’t do my own, I had no idea either of those were legal/possible
To be fair nor do most email providers! It’s in the spec, though.
You should be able to double quote the local part and use the space. "like this"@email.net. Good luck getting that through a validator though.
There isn’t a perfect one afaik - this one is apparently the closest you can get (https://emailregex.com) (?:[a-z0-9!#$%&'+/=?^_
{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_
~-]+)|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\[\x01-\x09\x0b\x0c\x0e-\x7f])")@(?:(?:a-z0-9?.)+a-z0-9?|[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-][a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\[\x01-\x09\x0b\x0c\x0e-\x7f])+)])
but they are now ignoring me.
Hmm. Did you try giving them your email address?
Yes, now my twitter dms are stuck in an infinite loop
Gimme your email address and I’ll see what I can do
And the password is >!*****************!<
You gotta put backtick quotes around your password on lemmy, otherwise it is automatically censored. It’s a security feature of ActivityPub.
Smells like bad regex
Exactly. After the @ they should just confirm there’s at least one period. The rest is pretty much up in the air.
Which would still be technically wrong. There does not need to be a dot.
Even that would be technically incorrect. I believe you could put an A record on a TLD if you wanted. In theory, my email could be
me@example
.Another hole to poke in the single dot regex: I could put in
fake@com.
with a dot trailing after the TLD, which would satisfy “dot after @” but is not an address to my knowledge.And this sort of thing is exactly how you end up with bad regex that invalidates valid emails.
The point isn’t to invalidate all bad emails. It’s to sort out most of them.
Something something http://[2607:f8b0:4004:c09::8a] and http://3627734062 are valid url’s without a dot, and are probably valid for emails too, but I’m too lazy to actually verify that.
I’ve had issues with this in using govt emails too. DOD accounts all have multiple dots based on branch and dept. It broke so many systems and emails never went through.
The easiest and most correct check: any character, then @, then any other character.
Beautiful
That regex makes me nauseous
deleted by creator
The best way to validate an email address is to sent it an email validation link.
Anything outside of that is a waste of effort.
That is 100% a chatbot using a regex email validator someone wrote as a meme that the chipotle dev copied from stack overflow without context.
As the owner of a .info domain, I know this pain all too well.
One of the reasons I’ve always avoided .info, nobody seems to believe it’s a real domain
You should put up an informational website to let people know, at https://info.info/
deleted by creator
To do that, it looks like I just need some final info from you first…
That is 100% a bot, and whoever made the bot just stuck in a custom regex to match “user@sld.tld” instead of using a standardized domain validation lib that actually handles cases like yours correctly.
Edit: the bots are redirecting you to bots are redirecting you to bots. This is not a bug. This is by design.
This is not a bug. This is by design.
I’d say it’s a bug in the design as it clearly fails to work with a completely fine email.
They meant that they are intentionally trying NOT to help the customer, hopefully they just give up at some point. (That’s why they are redirecting to bots and not to an actual human.)
I’ve encountered plenty of poor souls in equally poor countries getting paid a pittance who entirely seem like bots
Lol, why would that be true? They want to help, they just have a shitty bot
It’d be a lot easier to not make a bot at all if that was the case. They aren’t intentionally not trying to help, they’re intentionally spending as few resources as possible on helping while still doing enough to satisfy most customers. It’s shitty but it’s not malicious like you guys are implying.
Well, writing “operator” or “human” or “transfer” or “what the @#$” or something irritated may help.
But using a standardized library would be 3PP and require a lot of paperwork for some reaosn.
It might even be worse than that, imagine if they let one of those learning algorithms handle their customer service.
That all loads of companies that do. In this case it would be better because it would actually understand what constitutes an email rather than running some standard script with no comprehension of what it’s doing.
The difference between AI and automated script responses is AI is actually thinking at some level.
I think AI generally tries to bullshit more often than participating in what the user wants to accomplish. It would be like speaking with customer support who don’t actually work for the company, is a pathological liar, and have a vested interest in making you give up as fast as possible.
That’s not what AI is though.
An AI is pretty good and doing whatever it’s programmed to do it’s just you have to check that the thing it’s programmed to do is actually the thing you want it to do. Things like chatGPT our general purpose AI and essentially exist more or lesses a product demonstration than an actual industry implementation.
When companies use AI they use their own version on their own trained data sets.
If you program your learning algorithm to “solve” customer problems in the shortest amount of time possible with the least amount of concessions possible, it will act exactly as I just described. The company would have to be run by buffoons to give the phone machines the ability to change user account information or have the ability to issue refunds, so the end result is that they can only answer simple questions until the person on the other end gives up.
That is not how AI works.
It’s not programmed at all, it’s a developed network, it evolves in the same way that the human brain evolves, saying it will try and solve the problem in the shortest possible time is like saying that human agents will try and solve the problem in the shortest possible time. It’s a recursive argument.
You have rather proved my original point which is that everyone talking about AI doesn’t know what they’re talking about.
You might say “oh but an artificial intelligence could never possibly match the intelligence of humans” but why would that be the case? There’s nothing magical or special about human intelligence.
Wow you really went off on an irrelevant tirade, there. There is a defined accuracy when you set up the learning algorithm, there is an end goal result that you define with which the program chooses and eliminates “choices” for a given generation. You program it, it doesn’t magically conjure from a witches cauldron or a wish from a genie.
And also, we’re not talking about actual intelligence and sentience here, we’re talking about AI as in modern Learning Algorithms, as I explicitly stated at the start of this thread before you used the term AI for the first time in this thread. Idk why you’re comparing it to human level intelligence when it’s barely passable as a poor and easily abused mimicry.
With your repetitive, nonsensical, baseless logic I think you would pass for one of those glorified chatbots.
Modern customer service is about willfully designed layers of broken system engineered specifically to frustrate the majority of people that can’t regulate their emotions. It’s always a series of about “12 doors” you have to cross through that are exceedingly difficult to pass through. They are designed to sap your energy with the hope that you eventually reach a boiling point, hang up, get distracted, go on with your day and never follow up out of fear of starting the same process again.
I just keep mashing zero until a human talks to me.
Most IVR systems block that option because fuck you that’s why.
Ive recently had the automated response tell me “If you keep doing that I’m going to terminate this call, now, have you calmed down?”
Needless to say I lost my absolute shit on that robot.
“I wont respond to that”
“You just did you dumb bitch!”
“I won’t respond to that”
::aneurism::
“Returning a call” if they take voice, has been very helpful to me
Chipotle is telling you they don’t want your money
I would sure like the free stuff they promised me after my past purchases
I work for Chipotle Corporate. Please send me your email address. I’ll make sure it gets fixed.
Nice try I’ve heard that before
There should be an ‘@,’ followed by a domain (name@email.com).
What is your email address?
that is literally my email address
Ok, I can get a team member to help out there.
To do that, it looks that I just need some final info from you first…
What’s your email address?
Thanks satan
…and Hail.
Look, I get it, but first, what’s your email address?
I’m not falling for that again
Not without the support of an email address.
You’re talking to a bot that has a crappy parser and doesn’t understand what a subdomain is.
This is why you never attempt to validate an email address beyond requiring an @ followed by a period, and send a verification email
Technically you don’t need a period for a valid address. “a@a” is a valid email address.
Not a lot of people sending emails using hostnames nowadays though.
DON’T TELL ME HOW TO ELECTRONIC MY MAIL
I don’t recommend switching the electric switches by hand. Takes hella long.
Could be a Tld without a domain in front.
Can you give an example of that?
I’ve been working with websites, frontend and backend code for almost 20 years, somehow never knew this was a thing. Weird.
That’s really neat. It of course makes sense because I can’t see any reason why a TLD couldn’t have MX records, but I am surprised that any TLD actually does.
I found an RFC with domains that have MX, A, and/or AAAA records. https://datatracker.ietf.org/doc/html/rfc7085
Yeah, I’ve noticed that a lot of sites are starting to disallow aliasing with email addresses. So annoying.
laughs in aliased Gmail addresses.
.+@[^\.]+\..+
I sent you some nudes…
Which is blatant incompetence considering there is a very straightforward RFC covering domain names.
Has anyone followed standards properly? There are weird workarounds in Linux’s TCP implementation because they had to do the same non-standard workarounds as BSD which was added since there are too many buggy TCP implementations out there that will break if the RFC is followed to the letter…
I think you intended a different RFC?
Good catch! It is 1034.
If that’s their standard, you can probably just edit the html to make the login button active and then sign-in.
It depends if they have backend validation on their API as well that has the same rules
Pepper is making you salty
Pepper is spicey
According to my kid, everything is spicy.
Clearly AI.
Nah, it’s just a old school chat bot following a predefined flow chart. And in this flowchart someone implemented an improper email check.
It’s pretty much the same as if there was just a website with an email field which then complains about a non valid email which in fact is very valid. And this is pretty common, the official email definition isn’t even properly followed by most mail providers (long video but pretty funny and interesting if you’re interested in the topic).
You can use symbols like [ ] . { } ~ = | $ in the local-part (bit before the @) of email addresses. They’re all perfectly valid but a lot of email validators reject them. You can even use spaces as long as it’s using quotation marks, like
"hello world"@example.com
A lot of validators try to do too much. Just strip spaces from the start and end, look for an
and a
.
, and send an email to it to validate it. You don’t really care if the email address looks valid; you just care whether it can actually receive email, so that’s what you should be testing for.Not even a dot: TLDs are valid email domains. joe@google is a correct address.
Mmm… That doesn’t seem right, it’s usually gotta be fully expanded to at least a particular A record/MX.
How would you tie the tld itself to an MX?
TLD is just another DNS layer, try an SOA or NS lookup for “com.” those are obviously hosted somewhere. Hell the “.” at the end is even another layer with the root nameservers. You’d probably trip up a bunch of systems that filter on common convention rather than the actual RFC, but you could do it.
How the hell were the original rfc designers so creative as to result in such a flexible system?? It’s gets crazier the more you look at it.
To this point, there’s a website dedicated to the subject. Some of the regexes get pretty wild…
Don’t forget +
Super handy with Google email.
Yea but most of the time its more important to block code injection than to have the last promille of valid mail adresses be accepted.
You’re not going to get code injection via an email address field. Just make sure you’re using prepared statements (if you’re using a SQL database) and that you properly escape the email if you output it to a HTML page.
I think emailregex.com offers best of both worlds.
interesting if you’re interested in the topic
The first rule of tautology club is the first rule of tautology club.
I’m listening ;)
Yeah that video is great. My favourite part is the Russian post address thing.
He has a lot of interesting and funny talks like that.
The problem is their website also implemented an invalid email check when I try to login which is what got me to this point
Here is an alternative Piped link(s):
properly followed by most mail providers
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I’m open-source; check me out at GitHub.
Nah, it’s just a old school chat bot following a predefined flow chart.
yes but that would be an AI still
A bunch of IF statements don’t qualify as an AI. That’s not how that works.
Yeah mate you’re talking out of your ass. A bunch of
if
statements can, in fact, constitute an AI depending on the context. You don’t know what you’re talking about, stop trying to pretend you do.AI is a broad concept, a pathfinding algorithm can be considered AI, a machine learning image generator can be considered AI, a shitty chatbot with predefined responses (like this one) can be considered AI. Reducing something to a stupid sentence like “just a bunch of if statements” to try to make it seem absurd is. I can reduce something like ChatGPT the same way and it’d be pretty much as accurate as your take.
You can draw any AI as a predefined flowchart, that’s literally the point, they just make decisions based off of data. Large NLP algorithms like ChatGPT are no exception, they’re just very large involving incomparably heavier mathematics.
Here is a good stackoverflow answer to it that actually gives credible sources (including from the people who pioneered AI themselves): https://stackoverflow.com/a/54793198
AI is very broad. You can use many different definitions of varying specificity to describe AI which can all be correct, even a shitty chatbot counts as AI despite being so basic. There’s no bottom limit for the complexity of AI.
Selecting a canned-text response based on simple keywords is a long way from AI, and it’s foolish to
equivocateequate the two of them.Also, chill tf out, and don’t be so aggressively presumptious. I have enough experience with the topics in question to point out how misleading this statement is.
I suppose you didn’t click the link I sent – either that, or you think you know better than some of the leading figures in the field of AI… it’s not “a long way from AI”, it IS AI in its design and its purpose. It’s misleading to assert that it isn’t AI because it doesn’t meet your arbitrary complexity standard.
I doubt you have any relavant experience in AI research or engineering based off of how you treat the concept of AI and even data science in general here… boiling the bot down to “just a series of if statements” – and then implying that lack of complexity makes it not an AI – is extremely naïve and is itself misleading, you can do that for anything, every program is ultimately just a bunch of if-else/goto and simple math operations. It’s just an attempt to conceptually reduce it so much that it seems absurd that it could be in the same category as more advanced AI. Despite the name, AI doesn’t have to meet some bar for “smartness”, it’s a ridiculously broad term and any program intended to mimic human behaviour falls under AI (no matter how poorly it does it).
You confidently and rudely/condescendingly asserted something that is very blatantly ignorant of the subject of AI, I find it reasonable for me to assume that you had no idea what you were talking about, and I find it reasonable to very plainly call you out.
Also you misused “equivocate”… it’s not a word used to compare two things, it means using double speak/speaking evasively, “to equivocate the two [AI vs. chatbots]” doesn’t mean anything. Did you mean “equate”?
I did click your link. The accepted answer there states:
"The term artificial intelligence denotes behavior of a machine which, if a human behaves in the same way, is considered intelligent.
Again, I don’t think that selecting basic responses based on keywords found in the string meets the criteria for being qualified as an AI, as anyone with experience of a chat bot this simple knows it won’t hold up the illusion of “intelligence” for very long.
I did mean “equate”, you’re correct. The rest of my point remains - a very simple chat-bot like this is leaps and bounds from what would be termed an AI these days. To equate the two is misleading.
That is AI…
Even “algorithm”, you could say! The text adventure game I made in BASIC when I was 14 is going to blow your mind. It is 100% artificial and uses logic (IF statements), hence AI!
Have you tried giving them your email address?
My Ameriprise account has its own email address because the fuckers don’t believe any email starting with email@ is a real email. I’ve called them a million times and got them to file a bug, which they did, and then closed as won’t fix.
Ⓕ
Sorry for your loss…