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