In short - yes it is possible if you can connect directly to the recipients SMTP server. For the reasons Rup outlines in his answer it may not be especially practical, and if you are on a network behind a firewall you may not be able to get a connection to a remote server on TCP port 25 at all.
Assuming this doesn't apply for you, then here is the detail:
When you (as a mail client) connect to the recipient's mail server, all that server cares about (for delivery purposes) are the recipients specified in RCPT TO:
. See RFC2821 - Simple Mail Transfer Protocol. It doesn't differentiate between the type of recipient (to:, cc: or bcc:), it just knows you are saying "make sure the recipient on your server receives this".
However, as far as the recipient's actual mail client is concerned, it is the headers in the message that say who all the recipients of the message were. See RFC2822 - Internet Message Format.
In other words, the TO:, CC: and BCC: headers are there for the benefit of the mail client, whereas the actual distribution is handled during the SMTP 'conversation' with the mail servers.
So you can, in fact, have a conversation with an SMTP server that looks something like this:
C:>telnet aspmx.l.google.com 25
220 mx.google.com ESMTP f70si17620845wej.110
HELO myserver.mydomain.co.uk
250 mx.google.com at your service
MAIL FROM: <test@mydomain.co.uk>
250 2.1.0 OK f70si17620845wej.110
RCPT TO: <user_i_missed_out@mydomain.co.uk>
250 2.1.5 OK f70si17620845wej.110
DATA
354 Go ahead f70si17620845wej.110
To: recipient_on_original@somewhere.com
cc: another_recipient_on_original@somewhere.com, user_i_missed_out@mydomain.co.uk
Subject: My email
Hi - this is a test
.
250 2.0.0 OK 1277401976 f70si17620845wej.110
QUIT
221 2.0.0 closing connection f70si17620845wej.110
Connection to host lost.
The net effect is that user_i_missed_out@mydomain.co.uk
receives a copy of the email that has him on the cc list as well as the original addressee recipient_on_original@somewhere.com
, and the original cc recipient another_recipient_on_original@somewhere.com
.
However, since we never actually connected to the latter two's mail servers, they don't actually receive the email second time around. And since we cannot change the mails that have already been sent off to them before, they will never notice that we added another cc recipient.
5why is this being downvoted? It's an interesting question after all... – None – 2010-06-24T17:33:15.900
5@Achilles - The details of whether or not this is possible is ABSOLUTELY a programming question IMHO. It is defined in RFCs 2821 and 2822. At the end of the day, all mail clients out there are programmed according to these definitions, and each and every developer here may well have to delve into SMTP at some point. I certainly have. – None – 2010-06-24T17:35:23.673
3PLEASE stop voting to close this as "belongs on SuperUser". Just because the OP says it was the action of sending an email that got him thinking about the issue, it doesn't make the actual question "not programming related". If I had an http implementation question that occurred to me when I clicked on a web link, would that be "not programming related"? No. – None – 2010-06-24T21:17:12.887