Thanks for your replies so far!

Viktor Dukhovni wrote:

> On Wed, Jun 25, 2014 at 01:54:21PM -0700, Julian Mehnle wrote:
> 
>>> That is exactly what Postfix does by default, without any tweaking
>>> of destination recipient settings.
>> 
>> Great!  Now, if it currently *doesn't* (i.e., it invokes the pipe
>> command once per RCPT TO, not once per message), what's the best
>> way to debug my configuration?
> 
> You may be misreading the logs.  What evidence do you have that
> in fact there is a separate delivery for each recipient.  LOGS!

Here's a log excerpt:

> Jun 25 00:17:14 etl-qa-00 postfix/smtpd[31684]: 8830140409E9E: 
> client=unknown[10.0.0.39]
> Jun 25 00:17:14 etl-qa-00 postfix/cleanup[28114]: 8830140409E9E: 
> message-id=18e1c8$5507db3=67777c28c014d...@tomki.com
> Jun 25 00:17:14 etl-qa-00 postfix/cleanup[28114]: 8830140409E9E: info: header 
> From: mailer-dae...@athena.vistabroadband.net from unknown[10.0.0.39]; 
> from=<mailer-dae...@athena.vistabroadband.net> 
> to=<automat...@etl.qa.agari.com> proto=ESMTP helo=<wing.paul.sf.agari.com>: 
> "From tomki"
> Jun 25 00:17:14 etl-qa-00 postfix/qmgr[19911]: 8830140409E9E: 
> from=<mailer-dae...@athena.vistabroadband.net>, size=3023, nrcpt=2 (queue 
> active)
> Jun 25 00:44:26 etl-qa-00 postfix/pipe[29392]: 8830140409E9E: 
> to=<automat...@etl.qa.agari.com>, relay=dmarc-aggregate, delay=1632, 
> delays=0.03/1613/0/19, dsn=2.0.0, status=sent (delivered via dmarc-aggregate 
> service)
> Jun 25 00:44:27 etl-qa-00 postfix/pipe[28007]: 8830140409E9E: 
> to=<automat...@etl.qa.agari.com>, relay=dmarc-aggregate, delay=1633, 
> delays=0.03/1614/0/19, dsn=2.0.0, status=sent (delivered via dmarc-aggregate 
> service)
> Jun 25 00:44:27 etl-qa-00 postfix/qmgr[19911]: 8830140409E9E: removed

I know the pipe command was invoked twice because it stores the original 
message in a tarball in S3, and we have two tarballs with the exact same 
message and a timestamp difference of only 1-2 seconds for the queue ID 
8830140409E9E.  This happens only for messages that have two "<queue-id>: to=… 
(delivered via dmarc-aggregate service)" lines in the Postfix log, not for any 
other message delivered via the dmarc-aggregate service.

> That said, if the pipe transport is reached via "mailbox_transport",
> then indeed you get one delivery per recipient, because the recipient
> concurrency for the "local" transport (correctly) defaults to 1,
> and "mailbox_transport" is local(8) delivery agent feature, in
> which some mail is punted to another transport for delivery after
> alias expansion.


I don't think we're delivering messages via any means other than our 
dmarc-aggregate service, which is defined as a pipe delivery. How do I verify 
whether "mailbox_transport" is involved?

-Julian

Reply via email to