Hello I'm implementing a new feature in our mail system which uses address extensions for message delivery to user inbox subfolders.
I've found out that alias expansion folds case not only of user part of address (before +), but it also folds the address extension (after +). I've setup a basic Postfix(3.3.1) configuration for the purpose of testing with the following settings: local_recipient_maps = mailbox_transport = smtp:127.0.0.1:2525 recipient_delimiter = + propagate_unmatched_extensions = canonical,alias Alias file contains a single line: john.doe: doe If I send 2 messages through SMTP, one addressed to "doe+CamelCase@testhostname", the other to "john.doe+CamelCase@testhostname", this is what happens: postfix/smtp[17600]: 43D3D29F15: to=<doe+CamelCase@testhostname>, relay=127.0.0.1[127.0.0.1]:2525, delay=0.16, delays=0.02/0.02/0.07/0.05, dsn=2.0.0, status=sent (250 2.0.0 OK: queued as <4213941.17397.14824888156065723605@localhost.localdomain>) postfix/smtp[17600]: 952B929F15: to=<doe+camelcase@testhostname>, orig_to=<john.doe+CamelCase@testhostname>, relay=127.0.0.1[127.0.0.1]:2525, delay=0.1, delays=0.01/0/0.04/0.05, dsn=2.0.0, status=sent (250 2.0.0 OK: queued as <4214170.17397.13366994128348457886@localhost.localdomain>) The first one is delivered correctly into CamelCase mailbox and the other is delivered to the camelcase mailbox. I think this is an undesired behavior as the handling of address extensions for aliased and non-aliased users is different. Aliased users cannot use uppercase letters in IMAP folder names if they want to allow direct delivery into them. I've searched through the documentation for any explanation/solution. It isn't clear from the docs whether such a folding should be done. From virtual(5): The *propagate_unmatched_extensions <http://www.postfix.org/postconf.5.html#propagate_unmatched_extensions>* parameter controls whether an unmatched address extension (*+foo*) is propagated to the result of table lookup. and: The search string is folded to lowercase before database lookup. As of Postfix 2.3, the search string is not case folded with database types such as regexp <http://www.postfix.org/regexp_table.5.html>: or pcre <http://www.postfix.org/pcre_table.5.html>: whose lookup fields can match both upper and lower case. I would expect the "propagate_unmatched_extensions" option to work consistently and without case folding. Do you have a different opinion? Regards Fedor