Yes sure. This time with the one and only MUA I should trust <3

Imo sub addressing are properties of MailAddress.

user+s...@domain.tld
user+s...@domain.tld
And u...@domain.tld

Are all 3 distinct mail addresses diverging from their sub addresses.

We can normalize them to u...@domain.tld.

So I think the most straightforward is to add the following methods to 
MailAddress:

```
record class SubAddress(String value)

Optional<SubAddress> subAddress();

MailAddress normalize();
```

This should enable to implement all expected behaviours...

A first version of this parsing could be naïve and ignore comments inside email 
address, escape sequences, etc...

Also we may have to forbid '+' usage in user names, which should likely be 
documented in upgrade instructions as a breaking change.

--

Best regards,

Benoit TELLIER

General manager of Linagora VIETNAM.
Product owner for Team-Mail product.
Chairman of the Apache James project.

Mail: btell...@linagora.com
Tel: (0033) 6 77 26 04 58 (WhatsApp, Signal)


Le oct. 10, 2023 4:40 PM, de Wojtek It seems that your email client completely 
stripped all newline characters, which makes your reply a
little bit more hard to follow (this one and the one regarding postgress 
support, the latter being
even more garbled).

Could you re-sent it re-formatted? :-)

Wojtek

On 10/10/2023 11:21, btellier wrote:
> Imo sub addressing are properties of 
> MailAddress.user+sub1@domain.tlduser+sub2@domain.tldAnd user@domain.tldAre 
> all 3 distinct mail addresses diverging from their sub addresses. We can 
> normalize them to u...@domain.tld.so I think the most straightforward is to 
> add the following methods to MailAddress:```record class SubAddress(String 
> value)Optional<SubAddress> subAddress();MailAddress normalize();```This 
> should enable to implement all expected behaviours... A first version of this 
> parsing could be naïve and ignore comments inside email address, escape 
> sequences, etc... Also we may have to forbid '+' usage in user names, which 
> should likely be documented in upgrade instructions as a breaking 
> change.Regards,Envoyé depuis mon appareil Galaxy
> -------- Message d'origine --------De : Wojtek <woj...@unir.se> Date : 
> 10/10/2023  15:54  (GMT+07:00) À : James Users List 
> <server-user@james.apache.org> Objet : Re: Subaddressing (RFC 5233) support 
> in James Hi Benoit,thank you for confirming my observation. Indeed, it seems 
> quite extensive.I was wondering if we shouldn't adjust 
> org.apache.james.core.Username API and make a distinction between localpart 
> (so username+subaddress) and actuall username (i.e. `username` without 
> subaddress part. Or have another way to distinguish username in the system 
> from email address?WojtekOn 06/10/2023 21:26, Benoit TELLIER wrote:> Correct! 
> I've been identifying it for a couple of time and even have ideas of how to 
> manage it ;-)> > That's a bit of a complex story to work with!> > As a 
> starter :> >   - ValidRcptHandler needs to accept sub-addresses of an 
> existing user>   - IsLocalRecipient needs to accept sub-addresses of an 
> existing user>   - LocalDelivery needs by default to accept email for sub 
> addresses but delivery them into INBOX>   - And a SubAddressing mailet would 
> check if the recipient did whitelist the sender for the target mailbox (k 
> right) OR if the mailbox submission right is allowed for everybody (any)>     
> If so, then positions a storage directive for this email to go into the 
> target mailbox for that recipient>   - Of course integration tests 
> (/server/mailets/integration-testing )> > Contributions more than welcome on 
> the topic.> > Sponsoring even more welcome ;-)> > Here is the JIRA: 
> issues.apache.org/jira/browse/JAMES-3945 (freshly created)> > > > > -- > > 
> Best regards,> > Benoit TELLIER> > General manager of Linagora VIETNAM.> 
> Product owner for Team-Mail product.> Chairman of the Apache James project.> 
> > Mail: btell...@linagora.com> Tel: (0033) 6 77 26 04 58 (WhatsApp, Signal)> 
> > > On Oct 6, 2023 11:25 PM, from Wojtek Hi,> does James support 
> subaddressing (i.e. RFC 5233)?> > I tested it quickly and from what I see 
> James just treat those addresses as distinct addresses?> > I don't see 
> support for it in code.> > Ref:> 
> en.wikipedia.org/wiki/Email_address#Sub-addressing> 
> rfc-editor.org/rfc/rfc5233> 
> ---------------------------------------------------------------------To 
> unsubscribe, e-mail: server-user-unsubscribe@james.apache.orgFor additional 
> commands, e-mail: server-user-h...@james.apache.org

Reply via email to