Re: [Exim-dev] Exim's handling of Bcc lines (was Re: [BUG] …

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: exim-dev
Subject: Re: [Exim-dev] Exim's handling of Bcc lines (was Re: [BUG] mutt
The Bcc Issue: posted to the exim-users, exim-dev, and ietf-822 mailing lists
-----------------------------------------------------------------------------

The issue of who handles Bcc: header lines has again been raised, and I
am seeking opinions as widely as I can. The requirement is
straightforward: non-Bcc recipients of a message should not see the
addresses of any Bcc recipients, that is, their copies of the message
should not contain Bcc: header lines.

The dispute is over who achieves this end by removing Bcc: lines when
they should not be present. Is it the MUA or the MTA? This is what I
know about current behaviour:

1. Exim (which I maintain) removes Bcc: lines if, and only if, it is
    called with the -t option. In that case, it is constructing an
    envelope from the header data, and IMHO in doing so it is fulfilling
    an MUA function. In all other cases it leaves Bcc: lines alone.


2. It has been reported to me that OpenWave InterMail, MS SMTP, MS
    Exchange, and qmail behave in the same way as Exim for incoming SMTP
    messages (i.e. they leave Bcc: lines alone).


3. I have also been told that Sendmail, at least in some configurations,
    always removes any Bcc: lines from any message that it handles. The
    same is apparently true of Postfix and Lotus Notes 5.


4. Among the MUAs, I think that Pine never sends Bcc: lines, but Mutt by
    default does, assuming that the MTA will deal with them (Mutt does
    not use the -t option).


The (re-)discussion of this issue arose because the combination of
(default configured) Mutt and Exim does not behave the way people
expect. Mutt sends Bcc: lines, and Exim lets them through to all
recipients.

The RFC permits several different behaviours in connection with Bcc
recipients. For copies of the message that are sent to Bcc recipients,
the Bcc: line may be absent, or contain just the address of the single
recipient, or contain the addresses of all the Bcc recipients. For
copies sent to non-Bcc recipients, there should be no Bcc: header line.

If the MUA handles this, it is possible for it to allow any of the
alternative behaviours, as the sender of the message wishes. An MTA has
no means of distinguishing what the sender wanted. If it is to handle
the Bcc: header at all, the only choice is always to remove it. Thus, an
MTA that always removes Bcc: header lines will frustrate the wishes of
someone who wants them included in copies to Bcc recipients. (I found
one posting on the www that complained of exactly this problem.)

Of course, it is possible for MTAs to have configuration options to
change their behaviour. (It is easy to configure Exim always to remove
Bcc: lines, for instance.) However, only clueful sysadmins who are aware
of the issue will investigate such options. Thus, it is important for
the default behaviour to be "correct" in the sense that it is what the
RFCs and the community experts generally agree on.

So .... please vent your opinions and I will try to pull together a
summary in due course.

I am posting this separately to the three list mentioned above because
the Exim lists are subscriber-posting only, and a cross-post might cause
problems with replies.

Philip

-- 
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.