On Wed, Dec 04, 2019 at 08:10:20AM -0700, @lbutlr wrote: > On 03 Dec 2019, at 15:27, @lbutlr <krem...@kreme.com> wrote:
> > I have several domains, all of which have addresses with address delimiters > > in use. One domain is rejecting all addresses with address extensions in > > the lmtpd stage (after passing in smtpd). If you're propagating address extensions, they need to be supported by the LMTP server (non-Postfix software, e.g. Dovecot). If the LMTP server does not support address extensions, you must not propagate them to LMTP. The default is: propagate_unmatched_extensions = canonical, virtual you might need: # or just empty? propagate_unmatched_extensions = canonical Plus virtual table mappings for each bare recipient. > recipient_delimiter = +_ > virtual_alias_maps = proxy:mysql:$config_directory/mysql_virtual_alias_maps.cf > hash:$config_directory/virtual Have you actually checked (postmap -q) that the recipient in question is NOT matched by an entry in the SQL database? What do you get when you try: $ config_directory=$(postconf config_directory) $ maps="proxy:mysql:$config_directory/mysql_virtual_alias_maps.cf hash:$config_directory/virtual" $ postmap -q ama...@myvirtualdomain.tld $maps and then again on the output of that, with and without the address extension... > I have tested with a handful of the domains and they all work but one, which > I find confusing as they all are configured the same as far as I can see in > the sql database. The "domains" have nothing to do with this, virtual mapping and delimiter processing is domain-agnostic. However, your SQL database (via the query configured in the ".cf" file) will find matches for some addresses and not others. Also, note that virtual alias expansion is recursive. What does kreme+ama...@kreme.com expand to? Etc. > I can’t dump the database as it contains real names and other private info, > but it is a postfixadmin database that postfix and dovecot both access > without complaints. Nobody is asking for the full database. > So, if I send an email to ama...@myvirtualdomain.tld, virtual is set to > expand that to kreme+ama...@kreme.com but in the logs it is expanded to > ama...@covisp.net which does not exist and the mail is rejected. If I send > directly to the +amazon address, it works. If I send to another address > (t...@kreme.com => user+t...@othervirtual.tld, that works. > > So, the issue appears to be limited to a specific virtual domain. Nonsense: 0. Virtual alias and address extension processing is uniform across all domains 1. There is no issue, everything is working exactl as documented, you're just surprised by the results of the mappings you've configured. -- Viktor.