Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium


cc in an email using smtp control

Posted on 2004-10-08
Medium Priority
Last Modified: 2010-04-17
Is there a way to send a message to a someone in the normal way using a smtp control but include the cc header for a particular user without actually cc'ing it to the user.  For example, if someone has already been cc'd and I am just using an smtp control to sending a copy to somebody else, I'd like that new user that I'm sending to.. to still know that a particular user has been cc'd but not re-cc it to them.  If I add the cc header the mail server actually cc's it as it's supposed to of course so I'd like to see if I can add a cc header somehow for looks only.  Thanks.
Question by:jodyglidden
  • 3

Expert Comment

ID: 12261990
In the DATA section of an SMTP mail, you simply add CC: email@example.com to the header section of the DATA part of a mail, where email@example.com is the email of the user that was CC'd.  This will show the email of the user you are CCing without actually ever sending anything to them.  If you set a RCPT TO:<email@example.com> and email@example.com is the person who is being cc'd, then that is when they will receive a copy of the mail (of course that is if the SMTP server allows relaying, which most don't these days).


Author Comment

ID: 12262042
Sorry, I'm not familiar with the DATA section of the headers.  I've worked quite a bit with headers and with message bodies but I lost you on this part.  Would you mind explaining that part a bit further?  Thanks for your help so far.

Expert Comment

ID: 12262160
Oh, I was assuming that the SMTP control or component you were using allowed pretty raw access to the data it is sending to the SMTP server.  An SMTP server works in the following way.  You log into it and send a HELO (or EHLO command).  The server responds.  You send a MAIL FROM:<email> to the server, another response, RCPT TO:<email>, response, and if all goes well you send a DATA command, then you start sending the body of the email followed by a period (.), which terminates the "body" of the email basically.  But in that body is where the headers sit (ie: Subject, Date, From, CC and some other lines that an email client uses).  Anyway, what I suggest is, if there is some sort of header variable that can be added to, try adding a CC: email@example.com to it.  If it is actually SENDING to that CC then you have a problem, and it sounds as though the control is trying to do something you don't want it to do.  

Accepted Solution

Tyrsis earned 1500 total points
ID: 12262832
Let me expand on the nature of CC's as well here.  If you want to CC someone, in reality what you do is actually connect to their smtp server (in the case of email@example.com, you would connect to mail.example.com (or whatever mx address is returned by the DNS for example.com)) and you would send a mail to them like normal, but after the DATA command, instead of putting To: email@example.com, you would put CC: email@example.com.  So basically there is no real difference between sending something TO someone and CC to someone.  It just gets displayed different or handled different depending on the email client used.  It is just basically a header that is parsed.  The SMTP server doesn't actually DO anything with this information, except send it to the user, and the user's email program is what displays it differently.  

So in a situation like above, where you have two users.  Let's say you want to send a mail TO jody@hotmail.com and a CC to user@example.com.  Your email program would first do an MX DNS lookup on hotmail.com and then on example.com.  Get the mail server IP addresses for those two domains.  It then connects to hotmail.com.  Does a HELO, MAIL FROM, RCPT TO:<jody@hotmail.com> (this tells the server who you're sending to), then DATA, then your email body including headers which include To: jody@hotmail.com and CC: user@example.com.  After that it does the same thing with the MX address returned for example.com.  Except when sending the RCPT TO: line it puts user@example.com instead of jody@hotmail.com.

Anyhow, this is as low level as it gets.  A good reference for how SMTP and POP3 works is to look at the RFC and STD documents.  They are available at www.rfc-editor.org.  Just do a search for SMTP and POP3 at that URL.  Having an understanding how the low level stuff works will probably help you figure this all out pretty easily.  


Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When you see single cell contains number and text, and you have to get any date out of it seems like cracking our heads.
In real business world data are crucial and sometimes data are shared among different information systems. Hence, an agreeable file transfer protocol need to be established.
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
Six Sigma Control Plans

578 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question