Michael Neurohr:
> Although it's not a Postfix problem, I'd like to share the solution just
> for completeness in the hope it might be useful.
> 
> Instead of setting sender and recipient as parameters, one should
> forward it as arguments.
> 
> The whole thing now looks as follows:
> 
> The filter definition in Postfix' master.cf:
> =====================================================================
> procmail  unix  -       n       n       -       10       pipe
>   flags=Rq user=vmail null_sender= argv=/usr/bin/procmail -m
> /etc/procmailrc ${sender} ${recipient} ${domain}

...
> ER_DOMAIN=$3
> SENDMAILFLAGS="-i -f $E_SENDER $E_RECIPIENT"

WARNING: THIS WILL LOSE MAIL when the message has more than one recipient.
You must specify "procmail_destination_recipient_limit=1" in main.cf.

        Wietse

Quote 1 from pipe(8) manpage:

SINGLE-RECIPIENT DELIVERY
       Some destinations cannot handle more than one  recipient  per  delivery
       request.  Examples  are  pagers  or  fax machines.  In addition, multi-
       recipient delivery is undesirable when prepending a Delivered-to: or X-
       Original-To: message header.

       To  prevent  Postfix  from  sending  multiple  recipients  per delivery
       request, specify

           transport_destination_recipient_limit = 1

       in the Postfix main.cf file, where transport is the name in  the  first
       column  of  the  Postfix  master.cf  entry  for the pipe-based delivery
       transport.

Quote 2 from the pipe(8) manpage:

              ${recipient}
                     This macro expands to the complete recipient address.

                     A   command-line   argument  that  contains  ${recipient}
                     expands to as many command-line arguments  as  there  are
                     recipients.

Presumably, this also applies to the ${domain} expansion.

Reply via email to