News for hackers. Stuff that matters.
Re:Complexities of e-mail validation logic by nybble41 on Monday May 24, 2021 @01:28PM (#27267209)
It's not really all that standardized. The use of a '+' character to indicate an alias or label is merely convention—if you run your own server you can set the separator to any character you wish, or disable the feature altogether. As far as the RFCs are concerned the '+' character is just part of the account name and there is no reason why it cannot be a mandatory part of the account name on any particular server, such that stripping off the '+' and any trailing characters results in an invalid e-mail address, or even someone else's e-mail account. For sending email or using an email address as an account identifier it's definitely incorrect to treat [email protected] and [email protected] as equivalent. The same goes for account names which differ only in capitalization or placement of periods: some servers are case-insensitive and ignore periods in account names (e.g. Google) but these are server-specific traits and compliant email senders should not assume that every server will work the same way.

The '+' alias feature is a fairly common configuration, though, so for source labels it's better to either treat all unlabeled messages as spam or else use a more opaque labeling scheme ([email protected]) which doesn't hint at an alternative untracked email address.

Re:Complexities of e-mail validation logic by stonogo on Monday May 24, 2021 @01:54PM (#27267539)
Subaddressing is standardized in RFC 5233.
Re:Complexities of e-mail validation logic by nybble41 on Monday May 24, 2021 @01:58PM (#27267594)
For the Sieve Email Filtering Language, yes. Which is not actually part of SMTP. And even in RFC 5233 the specific separator sequence is up to the server; the RFC only specifies queries for ":user", ":detail", and ":localpart" to filter on the different fields independent of the choice of separator.
Re:Complexities of e-mail validation logic by dejj on Tuesday May 25, 2021 @03:26AM (#27273910)
Can you recommend a library / tool which can extract those reliably?