OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
Re: automatic bcc and alias resolution

From: Wietse Venema (wietseporcupine.org)
Date: Fri Aug 17 2007 - 08:13:12 CDT


Justin McAleer:
> The automatic bcc processing appears to only take place on the address
> given during the smtp session,

And on the Postfix sendmail command line, or received via the QMQP
server.

> and not based on any alias resolution
> that takes place afterward.

I hope I don't have to explain that automatic BCC recipients must
be added only once during the processing of a message.

Automatic BCC recipients are added before mail is queued, because
it can be done without having to create a new queue file.

There is no reasonable way to add automatic BCC recipients while
delivering mail with, for example, the SMTP client (what if the
BCC recipient is local?) or with other non-local delivery agents.

        Wietse

> Since the automatic bcc processing is
> handled by the cleanup process, I was curious why it was done that way.
> If the bcc check was done either during, or after alias resolution, I
> can have a simple mysql table with a user's "real" email address and a
> bcc recipient, and not have to concern myself with any user or domain
> alias changes that take place after setting up a bcc.
>
> Just in case some evidence of this behavior is in order:
>
> recipient_bcc_maps = proxy:mysql:/etc/postfix/maps/sql/mysql-bcc.cf
>
> /etc/postfix/maps/sql/mysql-bcc.cf:
> hosts = mysql.example.com
> user = example
> password = example
> dbname = example_db
> domain = cdb:/etc/postfix/maps/real_domains
> query = select bcc from autobcc where user = '%s';
>
> Message log:
>
> Here, userexample.com is in the mysql map such that a bcc should be
> sent to bcc_addrexample.com. userexample.com has an alias of
> user-aliasexample.net. These two entries show a message to
> userexample.com and a message to user-aliasexample.net:
>
> Aug 16 08:01:50 dev2 postfix/qmgr[3499]: EB68517EB2:
> from=<senderexample.com>, size=642, nrcpt=1 (queue active)
> Aug 16 08:01:51 dev2 postfix/smtp[3500]: EB68517EB2:
> to=<userexample.com>, orig_to=<user-aliasexample.net>,
> relay=relay-v.neonova.net[137.118.16.66]:25, delay=0.09,
> delays=0.04/0/0/0.05, dsn=2.0.0, status=sent (250 889298641 message
> accepted for delivery)
> Aug 16 08:01:51 dev2 postfix/qmgr[3499]: EB68517EB2: removed
>
> Aug 16 08:01:12 dev2 postfix/qmgr[3499]: C7A7517EB2:
> from=<senderexample.com>, size=645, nrcpt=2 (queue active)
> Aug 16 08:01:12 dev2 postfix/smtp[3500]: C7A7517EB2:
> to=<bcc_addrexample.com>, relay=relay-v.neonova.net[137.118.16.66]:25,
> delay=0.13, delays=0.08/0.01/0/0.04, dsn=2.0.0, status=sent (250
> 876937351 message accepted for delivery)
> Aug 16 08:01:12 dev2 postfix/smtp[3501]: C7A7517EB2:
> to=<userexample.com>, relay=relay-v.neonova.net[137.118.16.66]:25,
> delay=0.13, delays=0.08/0.01/0/0.05, dsn=2.0.0, status=sent (250
> 876937352 message accepted for delivery)
> Aug 16 08:01:12 dev2 postfix/qmgr[3499]: C7A7517EB2: removed
>
>