this post was submitted on 15 Dec 2023
1559 points (99.1% liked)

Mildly Infuriating

35427 readers
1268 users here now

Home to all things "Mildly Infuriating" Not infuriating, not enraging. Mildly Infuriating. All posts should reflect that.

I want my day mildly ruined, not completely ruined. Please remember to refrain from reposting old content. If you post a post from reddit it is good practice to include a link and credit the OP. I'm not about stealing content!

It's just good to get something in this website for casual viewing whilst refreshing original content is added overtime.


Rules:

1. Be Respectful


Refrain from using harmful language pertaining to a protected characteristic: e.g. race, gender, sexuality, disability or religion.

Refrain from being argumentative when responding or commenting to posts/replies. Personal attacks are not welcome here.

...


2. No Illegal Content


Content that violates the law. Any post/comment found to be in breach of common law will be removed and given to the authorities if required.

That means: -No promoting violence/threats against any individuals

-No CSA content or Revenge Porn

-No sharing private/personal information (Doxxing)

...


3. No Spam


Posting the same post, no matter the intent is against the rules.

-If you have posted content, please refrain from re-posting said content within this community.

-Do not spam posts with intent to harass, annoy, bully, advertise, scam or harm this community.

-No posting Scams/Advertisements/Phishing Links/IP Grabbers

-No Bots, Bots will be banned from the community.

...


4. No Porn/ExplicitContent


-Do not post explicit content. Lemmy.World is not the instance for NSFW content.

-Do not post Gore or Shock Content.

...


5. No Enciting Harassment,Brigading, Doxxing or Witch Hunts


-Do not Brigade other Communities

-No calls to action against other communities/users within Lemmy or outside of Lemmy.

-No Witch Hunts against users/communities.

-No content that harasses members within or outside of the community.

...


6. NSFW should be behind NSFW tags.


-Content that is NSFW should be behind NSFW tags.

-Content that might be distressing should be kept behind NSFW tags.

...


7. Content should match the theme of this community.


-Content should be Mildly infuriating.

-At this time we permit content that is infuriating until an infuriating community is made available.

...


8. Reposting of Reddit content is permitted, try to credit the OC.


-Please consider crediting the OC when reposting content. A name of the user or a link to the original post is sufficient.

...

...


Also check out:

Partnered Communities:

1.Lemmy Review

2.Lemmy Be Wholesome

3.Lemmy Shitpost

4.No Stupid Questions

5.You Should Know

6.Credible Defense


Reach out to LillianVS for inclusion on the sidebar.

All communities included on the sidebar are to be made in compliance with the instance rules.

founded 1 year ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 318 points 10 months ago (6 children)

When you insist on implementing your own email address validation...

[–] [email protected] 169 points 10 months ago (4 children)

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.

[–] [email protected] 86 points 10 months ago (2 children)

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

[–] [email protected] 42 points 10 months ago (3 children)

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.

[–] [email protected] 57 points 10 months ago

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.

[–] [email protected] 4 points 10 months ago

Feels very relevant to the fediverse, with how people tend to compare it to email.

[–] [email protected] -4 points 10 months ago (1 children)

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.

[–] [email protected] 21 points 10 months ago (1 children)

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.

[–] [email protected] 3 points 10 months ago (1 children)

ELI5 the bit about spotify's sharing API?

[–] [email protected] 3 points 10 months ago

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.

[–] [email protected] 2 points 10 months ago (1 children)

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.

[–] [email protected] 7 points 10 months ago (1 children)

What registrar do you use? Last time I checked .io domains where like 4x the price of a .org

[–] [email protected] 1 points 10 months ago (1 children)

Namecheap. But it might also have to do with my domain not being very popular. Not sure.

[–] [email protected] 2 points 10 months ago

Ah that makes sense. So far I’ve been using Namexpensive

[–] [email protected] 19 points 10 months ago
[–] [email protected] 17 points 10 months ago* (last edited 10 months ago) (1 children)

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

[–] [email protected] 7 points 10 months ago

I'd love to know where they got the idea that the spec doesn't allow that...

[–] [email protected] 16 points 10 months ago (1 children)

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.

[–] [email protected] 3 points 10 months ago

CVS and E*Trade both refused to accept my fairly standard [email protected] address during initial registration, but had no issue changing to that address once the account was created. It would be nice if their internal teams communicated a bit better.

[–] [email protected] 47 points 10 months ago (1 children)

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.

[–] [email protected] 31 points 10 months ago (5 children)

It's easier to Google "email regex [language]" and copy the first result from stack overflow.

[–] [email protected] 41 points 10 months ago (1 children)

Definitely a timesaver. Much faster to get incorrect email validation that way then to try building it yourself.

[–] [email protected] 17 points 10 months ago

Skip the building step and go straight to pulling your hair out over why it’s not working! Efficiency!

[–] [email protected] 16 points 10 months ago

That probably lead to this exchange.

Stack Overflow is useful, but...it needs more than a little parsing for useful answers.

[–] [email protected] 14 points 10 months ago

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.

[–] [email protected] 3 points 10 months ago

To be valid, the email just has to match [anything@anything]. ,🙃@localhost can be perfect legal if localhost supports utf8 in usernames.

[–] [email protected] 2 points 10 months ago

Or implement a validator from a known good library.

[–] [email protected] 32 points 10 months ago (1 children)

I've encountered this because my domain has a hyphen in it. Very irritating.

[–] [email protected] 3 points 10 months ago

@spider-man.net?

[–] [email protected] 22 points 10 months ago (3 children)

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. [email protected] and [email protected] are two different mail addresses, which may point to the same mailbox if you are lucky.

[–] [email protected] 25 points 10 months ago (2 children)

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.

[–] [email protected] 23 points 10 months ago* (last edited 10 months ago) (3 children)

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.

[–] [email protected] 10 points 10 months ago* (last edited 10 months ago)

*Gasp* the registration is coming from inside the colo!

[–] [email protected] 5 points 10 months ago (1 children)

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.

[–] [email protected] 7 points 10 months ago

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.

[–] [email protected] 4 points 10 months ago (1 children)

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.

[–] [email protected] 6 points 10 months ago (1 children)

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.

[–] [email protected] 3 points 10 months ago

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.

[–] [email protected] 16 points 10 months ago (1 children)
[–] [email protected] 5 points 10 months ago (1 children)

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"

[–] [email protected] 4 points 10 months ago (1 children)

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

[–] [email protected] 3 points 10 months ago (1 children)

And this is exactly why I wouldn't do my own, I had no idea either of those were legal/possible

[–] [email protected] 2 points 10 months ago

To be fair nor do most email providers! It's in the spec, though.

[–] [email protected] 4 points 10 months ago

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.

[–] [email protected] 1 points 10 months ago

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])+)])

[–] [email protected] 9 points 10 months ago

When you insist on implementing your own ~~email address validation~~ regex string...