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.

Reply via email to