Wietse Venema:
> I've done a proof-of-concept implementation that works as documented
> below the signature.

I was able to simplify this further. The result is below.
Comments are welcome.

The problem with forward_path could be solved without requiring
changes to the forward_path default setting:

    forward_path = $home/.forward${recipient_delimiter}${extension},
        $home/.forward

When Postfix expands this while delivering mail, it now replaces
${recipient_delimiter} with the actual recipient delimiter in the
recipient email address, instead of using the main.cf value.

    recipient_delimiter (default: empty)
            The set of characters that can separate user names and
            address extensions (user+foo).  See canonical(5),
            local(8), relocated(5) and virtual(5) for the effects
            this has on aliases, canonical, virtual, and relocated
            lookups.  Basically, the software tries user+foo before
            trying user. 

            When the recipient_delimiter set contains more than one
            character (Postfix 2.11 and later), user names and
            address extensions are separated at the first character
            that matches the recipient_delimiter set.  The
            implementation recognizes only one delimiter character
            per email address.

            When used in forward_path, ${recipient_delimiter} is
            replaced with the actual recipient delimiter in the
            recipient email address.

            Examples:

            # Support Postfix and qmail extensions (Postfix >= 2.11).
            recipient_delimiter = +-

            # Use .forward for mail without address extension, or
            # with an unrecognized address extension.
            forward_path = $home/.forward,
                $home/.forward${recipient_delimiter}${extension}

This seems like a more reasonable implementation.

Support for delimiter priorities could be added later but I doubt
that it will really solve problems.

        Wietse

Reply via email to