Re: BCC not working?



On Thu, 17 May 15:24 Eric Dexter wrote:
| 
| On 2001.05.17 02:41 Pawel Salek wrote:
| > 
| > On 2001-05-16 23:31 Eric Dexter wrote:
| > > I just recently noticed that BCC doesn't seem to be copying
| "blindly".
| > > The To: recipient can see who the message was BCC'ed to.
| > 
| > Works for me (tested with balsa-1.1.4; my outbox is ordinary mbox
| > mailbox). Do you have some special format for outbox?
| 
| Hmm...no I don't, just standard MBOX. I guess I should have explained
| my configuration more...
| 
| I'm using Balsa 1.1.4, using an IMAP inbox which lives on a Netscape
| Messaging Server (also the SMTP server). Can you explain what handles
| Bcc? Is it the client? Or the server? I assume that the client simply
| creates a seperate message when sending to the Bcc recipient.

Balsa creates a Bcc: header which is included in the message.
All the recipients get the same message containing the Bcc header.
Caveat: balsa isn't the only program processing the message, an
MTA relaying the message might mess with the headers but this is
non-standard behaviour.  Also the recipients' MUAs might process
the headers differently.

| Here's the header forwarded to me from the To: reciepient:
| 
| >  Date: Thu, 17 May 2001 08:28:33 -0500
| >  From: "Eric Dexter" <edexter@wichitaeagle.com>
| >  To: bhardin@wichitaeagle.com
| >  BCC: tcox@wichitaeagle.com
| >  Subject: Test
| 
| You see that BCC is in his headers

This is correct - see below.

| (One thing of note, in Balsa, BCC
| seems to be generated as ALL CAPS, where most other clients I've seen
| use "Bcc".

This does not matter.  Header names are not case sensitive.

| I suppose this would only matter if it were the mail SERVER

BTW, it's wrong to talk about a mail server.  Email is a peer to peer
system.  An MTA is both server when receiving a message and client
when sending to the next hop MTA.

| that handled the propogation of BCC messages. Perhaps it's not
| recognizing the field?

The *only* processing an MTA is permitted to do is to add a Received:
header to the start of an incoming message.  See RFC 2821 section 3.7.

   ... a relay SMTP has no need to inspect or
   act upon the headers or body of the message data and MUST NOT do so
   except to add its own "Received:" header (section 4.4) and,
   optionally, to attempt to detect looping in the mail system (see
   section 6.2).

RFC 2822 has this to say on the Bcc: header in section 3.6.3.

   The "Bcc:" field (where the "Bcc" means "Blind Carbon Copy") contains
   addresses of recipients of the message whose addresses are not to be
   revealed to other recipients of the message.  There are three ways in
   which the "Bcc:" field is used.  In the first case, when a message
   containing a "Bcc:" field is prepared to be sent, the "Bcc:" line is
   removed even though all of the recipients (including those specified
   in the "Bcc:" field) are sent a copy of the message.  In the second
   case, recipients specified in the "To:" and "Cc:" lines each are sent
   a copy of the message with the "Bcc:" line removed as above, but the
   recipients on the "Bcc:" line get a separate copy of the message
   containing a "Bcc:" line.  (When there are multiple recipient
   addresses in the "Bcc:" field, some implementations actually send a
   separate copy of the message to each recipient with a "Bcc:"
   containing only the address of that particular recipient.) Finally,
   since a "Bcc:" field may contain no addresses, a "Bcc:" field can be
   sent without any addresses indicating to the recipients that blind
   copies were sent to someone.  Which method to use with "Bcc:" fields
   is implementation dependent....

In summary, the message needs to be sent twice if it contains a
Bcc: recipient list, once to the recipients who should see the
Bcc: line and once for those recipients who should not.

This would be easy to arrange with libESMTP.  Two smtp_message_t
objects would be added to the session for messages containing a
Bcc recipient list, but in the message that does not reveal the Bcc
recipients a call to
	smtp_set_header_option (message, "Bcc", Hdr_PROHIBIT);
would be used in addition.

Has anyone got any idea of which model described in the section
from RFC 2822 should be implemented in Balsa? Carlos/Pawel?

Regards,
Brian Stafford





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]