Sun, 07 Feb 2010
Cosmetic carbon copy: The opposite of blind carbon copy
I propose a new feature for email software: Cosmetic carbon copy. CCC works very similarly to today's carbon copy feature: If you put an address in the CCC: list, when the recipients open the message, they can see the address. The one difference is that with "cosmetic" carbon copy, the CCC:d address never recieves the message.
An example might illustrate the situation. Let's say someone (Alice) wants to invite Bob to a movie but doesn't want Charlie to come. She might send this email:
From: alice@example.com To: bob@example.com CCC: charlie@example.com Subject: MOOOVIEEE!
Hey all my friends, join me for a movie tonight!
When Alice sends the email, Bob recives a copy. Bob thinks that Charlie received a copy, as he will be in the CC list. But Alice's mail software never sent Charlie a copy. So Alice can relax, knowing that Bob won't forward a copy to Charlie, since Bob thinks he already received it.
Alice and Bob will meet up without Charlie, and Alice will quietly sigh in relief.
How can this work?
Cosmetic carbon copy works on the same principle as blind carbon copy: the contents of the message are fundamentally independent from the recipients.
Saavy email users have used the "blind carbon copy" feature for years. When you place an address in the BCC list, that address will receive a copy of the email even though other recipients won't see the address listed. This allows for a form of privacy between the sender of the email and that hidden recipient.
This works because, like postal mail, email messages are delivered using an "envelope" that contains the actual recipients. When you compose a message in Alpine, Gmail, or Thunderbird, you are writing the contents of the envelope. When you hit send, the mail software looks for email addresses that should receive a copy. It creates one envelope per address, stuffs the letter inside, and sends the whole thing on its way through the Internet using a protocol called SMTP. When the recipient (Bob)'s email system receives it, the letter is pulled out of the envelope and placed in an inbox.
Which means the envelope is entirely invisible to Bob, the recipient. Most mail software puts information about the envelope in email headers. Since each email recipient gets a separate envelope, In the case of cosmetic carbon copy, Alice's letter claims that Charlie was on the CC: list. But Bob can never learn that Charlie's copy was never sent.
So to implement cosmetic carbon copy, Alice's mail program must understand this rule:
- For each address in the CCC list, copy the message to the CC: list in the email message.
- Create no new envelopes when sending the message.
Because of the last bullet point, this "carbon copying" is purely cosmetic rather than functional.
A possible privacy problem
You might wonder, what happens when Bob hits reply-all to say "Yes, I'm coming"? Then (oh no!) Charlie might see the invitation.
Not a problem: Most of my friends use Gmail, and Gmail users almost always hit Reply instead of Reply-All. Gmail used to have an experimental option called "Reply All by Default", but thankfully they removed that option.
A future version of this specification might suggest mangling the last "." in the BCC:d email addresses with the ONE DOT LEADER character, which looks like "." but isn't one. That way, even if Bob clicks "Reply all," Charlie's email address is subtly incorrect and will bounce.
Future work
The story I've told here is marginally simplified so it's understandable to a less-technical audience. Those who want a more technical version can request I submit an RFC. Perhaps in two months?
(File under "games to play with email.")
Posted by RoboJenny at Sun Feb 7 01:33:33 2010
Posted by martin f. krafft at Sun Feb 7 03:46:01 2010
<blockquote>
When Alice sends the email, Bob recives a copy. Bob thinks that Charlie received a copy, as he will be in the CC list. But Alice's mail software never sent Charlie a copy. So Alice can relax, knowing that Bob won't forward a copy to Charlie, since Bob thinks he already received it.
</blockquote>
in a perfect world what you wrote it's true, in a real world in which unfortunately we live, where too many people don't use their brain and have bad software (windows, outlook and so on) they always will sent multiple forward of the same mail to Charlie...
Posted by Micky Del Favero at Sun Feb 7 05:45:58 2010
but, the feature is effectively already there - The "From:", "To:" and "Cc:" fields do not need to reflect the real sender/reciever. A fact that should be obvious for anyone who has got spam. Observe the following smtp transaction:
220 example.com ESMTP Postfix (Debian/GNU)
EHLO example.com
250-example.com
MAIL FROM: alice@example.com
250 2.1.0 Ok
RCPT TO: bob@example.com
250 2.1.5 Ok
DATA
From: alice@example.com
To: bob@example.com
CCC: charlie@example.com
Subject: MOOOVIEEE!
Hey all my friends, join me for a movie tonight!
.
250 OK
QUIT
Of course, if bob uses reply all, alice is screwed.
Posted by riku voipio at Sun Feb 7 06:02:59 2010
Very nice and subtle, I actually believed it to be a serious (and deranged) proposition up until those last words.
Kudos to you.
Posted by Dennis van Zuijlekom at Sun Feb 7 06:21:14 2010
Posted by tshirtman at Sun Feb 7 06:41:14 2010
Posted by John at Sun Feb 7 06:58:09 2010
Asheesh: did you april-fool us in February? You bad boy.
Posted by martin f. krafft at Sun Feb 7 15:57:32 2010
Dennis: You figured me out. (-:
tshirtman: Right now, email clients already support lying -- the BCC field is a form of lie by omission.
Martin F Krafft: I would copy the email messages into the "CC:" field, as described in the spec. So reply-all can still be a problem.
But really, everyone, to put my remarks in perspective, see some follow-up discussion on #joiito:
<ivan> paulproteus: a year or two ago someone here requested a "send message to everyone but X in #channel"
<paulproteus> (-:
<paulproteus> I have a similar feature proposal up my sleeve for Mailman.
<paulproteus> listname-minus-birthdayguy@lists.example.com
<paulproteus> For when you want to use e.g. an all staff mailing list to plan a surprise party for one person. (-;
<rojisan_roaming> also good for recruiting assassins
<ivan> listname-minus-creepyguy
<paulproteus> YES
Anyway, I'm still looking for co-authors on the RFC, hopefully for publication in early April.
Posted by Asheesh Laroia at Mon Feb 8 00:09:28 2010