> On Jun 18, 2022, at 8:51 AM, Viktor Dukhovni <postfix-us...@dukhovni.org> 
> wrote:
> 
> On Fri, Jun 17, 2022 at 01:14:25PM -0600, Austin Witmer wrote:
> 
>> I posted this problem on the dovecot mailing list, and they
>> recommended that I use sender_bcc_maps in postfix to bcc messages to
>> myself and then use a sieve script to place them in the sent folder.
>> 
>> I got this working now but the trouble is that it is putting five
>> copies of the same email in my sent folder. Does anybody have any
>> ideas on why this might be happening?
> 
> You have a multi-stage delivery pipeline, with approximately:
> 
> On Fri, Jun 17, 2022 at 09:28:43PM -0600, Austin Witmer wrote:
> 
>> Jun 18 03:15:40 mail postfix/submission/smtpd[21926]: connect from 
>> 97-123-96-141.albq.qwest.net[97.123.96.141]
>> Jun 18 03:15:42 mail postfix/submission/smtpd[21926]: 4E16C17A09B: 
>> client=97-123-96-141.albq.qwest.net[97.123.96.141], sasl_method=PLAIN, 
>> sasl_username=j...@appalachianmeats.com
>> Jun 18 03:15:42 mail postfix/cleanup[21933]: 4E16C17A09B: 
>> message-id=<047b66f1-3332-acc4-a681-13a4cea8a...@mydomain.com>
> 
>    cleanup(8) adds a BCC recipient
> 
>> Jun 18 03:15:42 mail opendkim[863]: 4E16C17A09B: DKIM-Signature field added 
>> (s=default, d=mydomain.com)
> 
>    DKIM milter adds signature to original message on submission
> 
>> Jun 18 03:15:42 mail postfix/qmgr[2968]: 4E16C17A09B: 
>> from=<u...@mydomain.com>, size=557, nrcpt=2 (queue active)
> 
>    Two recipients seen by qmgr(8).
> 
>> Jun 18 03:15:44 mail postfix/pipe[21934]: 4E16C17A09B: 
>> to=<recipi...@anotherdomain.com>, relay=gpgit-pipe, delay=2.1, 
>> delays=0.31/0.01/0/1.8, dsn=2.0.0, status=sent (delivered via gpgit-pipe 
>> service)
>> Jun 18 03:15:44 mail postfix/pipe[21935]: 4E16C17A09B: 
>> to=<u...@mydomain.com>, relay=gpgit-pipe, delay=2.1, delays=0.31/0.02/0/1.8, 
>> dsn=2.0.0, status=sent (delivered via gpgit-pipe service)
>> Jun 18 03:15:44 mail postfix/qmgr[2968]: 4E16C17A09B: removed
> 
>    Delivered separately! to "gpgit-pipe", because content_filter
>    definition lacks an explicit "nexthop".
> 
>    Change the content_filter to "gpgit-pipe:local" if the filter can
>    handle multiple recipients.  Otherwise, delay the BCC to after the
>    filter by setting "receive_override_options=no_address_mappings" in
>    the submission "smtpd".
> 
>> Jun 18 03:15:44 mail postfix/pickup[21737]: 532FF17A09B: uid=1001 
>> from=<u...@mydomain.com>
>> Jun 18 03:15:44 mail postfix/cleanup[21952]: 532FF17A09B: 
>> message-id=<047b66f1-3332-acc4-a681-13a4cea8a...@mydomain.com>
>> Jun 18 03:15:44 mail opendkim[863]: 532FF17A09B: DKIM-Signature field added 
>> (s=default, d=mydomain.com)
>> Jun 18 03:15:44 mail postfix/qmgr[2968]: 532FF17A09B: 
>> from=<u...@mydomain.com>, size=1527, nrcpt=2 (queue active)
>> Jun 18 03:15:44 mail postfix/smtp[21953]: 532FF17A09B: 
>> to=<recipi...@anotherdomain.com>, relay=127.0.0.1[127.0.0.1]:10024, 
>> delay=1.9, delays=1.7/0.04/0/0.14, dsn=2.0.0, status=sent (250 2.0.0 from 
>> MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 8094B17A0A2)
>> Jun 18 03:15:44 mail postfix/smtp[21953]: 532FF17A09B: 
>> to=<u...@mydomain.com>, relay=127.0.0.1[127.0.0.1]:10024, delay=1.9, 
>> delays=1.7/0.04/0/0.14, dsn=2.0.0, status=sent (250 2.0.0 from 
>> MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 8094B17A0A2)
>> Jun 18 03:15:44 mail postfix/qmgr[2968]: 532FF17A09B: removed
> 
>> Jun 18 03:15:44 mail postfix/pickup[21737]: 62D6A17A0A0: uid=1001 
>> from=<u...@mydomain.com>
>> Jun 18 03:15:44 mail postfix/cleanup[21952]: 62D6A17A0A0: 
>> message-id=<047b66f1-3332-acc4-a681-13a4cea8a...@mydomain.com>
>> Jun 18 03:15:44 mail opendkim[863]: 62D6A17A0A0: DKIM-Signature field added 
>> (s=default, d=mydomain.com)
>> Jun 18 03:15:44 mail postfix/qmgr[2968]: 62D6A17A0A0: 
>> from=<u...@mydomain.com>, size=1535, nrcpt=2 (queue active)
>> Jun 18 03:15:44 mail postfix/smtp[21956]: 62D6A17A0A0: 
>> to=<u...@mydomain.com>, relay=127.0.0.1[127.0.0.1]:10024, delay=2, 
>> delays=1.7/0.02/0/0.18, dsn=2.0.0, status=sent (250 2.0.0 from 
>> MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 9B45817A09B)
>> Jun 18 03:15:44 mail postfix/smtp[21956]: 62D6A17A0A0: 
>> to=<u...@mydomain.com>, relay=127.0.0.1[127.0.0.1]:10024, delay=2, 
>> delays=1.7/0.02/0/0.18, dsn=2.0.0, status=sent (250 2.0.0 from 
>> MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 9B45817A09B)
>> Jun 18 03:15:44 mail amavis[19779]: (19779-09) Passed CLEAN 
>> {RelayedInbound}, [127.0.0.1] <u...@mydomain.com> -> 
>> <u...@mydomain.com>,<u...@mydomain.com>, Message-ID: 
>> <047b66f1-3332-acc4-a681-13a4cea8a...@mydomain.com>, mail_id: h4sjymJW2jCC, 
>> Hits: -, size: 2047, queued_as: 9B45817A09B, dkim_sd=default:mydomain.com, 
>> 170 ms
>> Jun 18 03:15:44 mail postfix/qmgr[2968]: 62D6A17A0A0: removed
> 
> The two "gpgit-pipe" scripts resubmit each copy of the message via
> sendmail(1).  The BCC address is added to both again, and both are
> DKIM signed again.  This time, there's a content_filter rerouting
> the message into amavis, which does not "split the envelope":
> 
>> Jun 18 03:15:44 mail postfix/smtpd[21957]: 8094B17A0A2: 
>> client=localhost[127.0.0.1]
>> Jun 18 03:15:44 mail postfix/cleanup[21954]: 8094B17A0A2: 
>> message-id=<047b66f1-3332-acc4-a681-13a4cea8a...@mydomain.com>
>> Jun 18 03:15:44 mail postfix/qmgr[2968]: 8094B17A0A2: 
>> from=<u...@mydomain.com>, size=2430, nrcpt=3 (queue active)
>> Jun 18 03:15:44 mail postfix/smtpd[21957]: disconnect from 
>> localhost[127.0.0.1] ehlo=1 mail=1 rcpt=2 data=1 quit=1 commands=6
> 
>> Jun 18 03:15:44 mail postfix/smtpd[21957]: 9B45817A09B: 
>> client=localhost[127.0.0.1]
>> Jun 18 03:15:44 mail postfix/cleanup[21952]: 9B45817A09B: 
>> message-id=<047b66f1-3332-acc4-a681-13a4cea8a...@mydomain.com>
>> Jun 18 03:15:44 mail postfix/qmgr[2968]: 9B45817A09B: 
>> from=<u...@mydomain.com>, size=2643, nrcpt=3 (queue active)
>> Jun 18 03:15:44 mail postfix/smtpd[21957]: disconnect from 
>> localhost[127.0.0.1] ehlo=1 mail=1 rcpt=2 data=1 quit=1 commands=6
> 
> Each after amavis cleanup adds a BCC again, (ending up with 3
> recipients).  Now the original recipient is present once, and
> five recipients are the BCC recipient.
> 
>> Jun 18 03:15:44 mail postfix/lmtp[21963]: 8094B17A0A2: 
>> to=<u...@mydomain.com>, relay=mail.mydomain.com[private/dovecot-lmtp], 
>> delay=0.22, delays=0.02/0.05/0.1/0.05, dsn=2.0.0, status=sent (250 2.0.0 
>> <u...@mydomain.com> S/9pKWBDrWJqVQAANmah8A Saved)
>> Jun 18 03:15:44 mail postfix/lmtp[21963]: 9B45817A09B: 
>> to=<u...@mydomain.com>, relay=mail.mydomain.com[private/dovecot-lmtp], 
>> delay=0.3, delays=0.01/0.1/0.03/0.16, dsn=2.0.0, status=sent (250 2.0.0 
>> <u...@mydomain.com> oEmDLmBDrWJqVQAANmah8A Saved)
>> Jun 18 03:15:44 mail postfix/lmtp[21965]: 8094B17A0A2: 
>> to=<u...@mydomain.com>, relay=mail.mydomain.com[private/dovecot-lmtp], 
>> delay=0.42, delays=0.02/0.14/0.09/0.17, dsn=2.0.0, status=sent (250 2.0.0 
>> <u...@mydomain.com> KCCGLmBDrWLOVQAANmah8A Saved)
>> Jun 18 03:15:44 mail postfix/lmtp[21965]: 9B45817A09B: 
>> to=<u...@mydomain.com>, relay=mail.mydomain.com[private/dovecot-lmtp], 
>> delay=0.36, delays=0.01/0.29/0.03/0.03, dsn=2.0.0, status=sent (250 2.0.0 
>> <u...@mydomain.com> T0JmOWBDrWLQVQAANmah8A Saved)
>> Jun 18 03:15:45 mail postfix/lmtp[21963]: 9B45817A09B: 
>> to=<u...@mydomain.com>, relay=mail.mydomain.com[private/dovecot-lmtp], 
>> conn_use=2, delay=0.37, delays=0.01/0.3/0/0.05, dsn=2.0.0, status=sent (250 
>> 2.0.0 <u...@mydomain.com> INy2OGBDrWJqVQAANmah8A Saved)
>> Jun 18 03:15:45 mail postfix/smtp[21913]: 8094B17A0A2: 
>> to=<recipi...@anotherdomain.com>, 
>> relay=filter.anotherdomain.com[216.24.56.70]:25, delay=0.82, 
>> delays=0.02/0/0.55/0.25, dsn=2.0.0, status=sent (250 Ok: queued as 
>> 4E14D2E40052)
>> Jun 18 03:15:45 mail postfix/qmgr[2968]: 8094B17A0A2: removed
> 
> The above is exactly what is expected.
> 
> - You'll need to disable "sender_bcc" in all but one of the delivery stages
>  via "receive_override_options".

My setup seems to be working not that I have added the   "-o 
receive_override_options=no_address_mappingsā€ to all but one of the delivery 
stages.

> 
> - You should try to avoid splitting the envelope for different
>  content_filter recipients Of the same message, by using
>  filters that can handle multiple recipients, and transport
>  one input multi-recipient message to one output multi-recipient
>  message.
> 
>  Otherwise, delay BCC until after all such filters.
> 
> - You can get more recipient deduplication via
>  "enable_original_recipient = no", see the docs for
>  corner-case caveats.
> 
> --
>    Viktor.

Thanks to all of you for your help and suggestions!

Austin Witmer

Reply via email to