Updated SMTP Class

I was really happy to see thoses class for smtp's transactions. One thing I didn't have in my own smtp object was the file transfert with MIME specifications. The only thing the Wes Clyburn's class missed is the use of CC ad BCC. Since it's more easy to add those things than adding the file transfer functionality to my own class, I decided to take the Wes Clyburn object and modified it.

These modifications have been done to enhance the real good object CMailMessage, with the functionnality of CC and BCC copy and in the context of keeping the same public interface.

All new parameters are only optionnal. Still thanks to Wes Clyburn.

How to use ?

Still the same function, but with optional arguments that will change the recipients list. You have three kinf of recipients.

	CMailMessage::TO (the default one)   
	CMailMessage::CC   
	CMailMessage::BCC

	//*** Example..CMIMEMessage msg;
	msg.AddMultipleRecipients( "banana@culture.com" );
	msg.AddMultipleRecipients( "president.of.banana@culture.com,CMailMessage::CC );
	msg.AddMultipleRecipients( "secret@banana.eater", CMailMessage::BCC );

	...

The reste remains the same.. Voila !!!

Download source - 16KB



Comments

  • TextPlain is not included

    Posted by Legacy on 09/26/2002 12:00am

    Originally posted by: rstone

    hi!

    TextPlain file is not included.

    Reply
  • Where is the CTextPlain class?

    Posted by Legacy on 05/18/1999 12:00am

    Originally posted by: David Jarvis

    Could you please add the CTextPlain source to the download, or send it to me?

    Reply
  • For those you are looking for the CTextPlain...

    Posted by Legacy on 05/18/1999 12:00am

    Originally posted by: Jean-Francois Ouellet

    Go to the internet section.. and just after the UPDATE SMTP Class, you will have UPDATE SMTP class part II

    Every files are there ;)

    Reply
  • CMIMEMessage doesn't work - CTextPlain not found...

    Posted by Legacy on 02/15/1999 12:00am

    Originally posted by: johnny p.

    Hi,
    
    

    Nice explanation. Really appreciate the code. However, class
    CMIMEMessage creates objects of type CTextPlain which wasn't
    included in the downloaded demo. Can you update the zip file
    with this class or send a copy of this class to me?

    Thanks so much,

    johnny p.

    Reply
  • Modification for NT

    Posted by Legacy on 12/20/1998 12:00am

    Originally posted by: Christian Trillo

    I had a little trouble by compiling it with UNICODE. If you're not familiar with it, don't worry, there is a function that helps.
    To compile the code both for ANSI and UNICODE you could use macros for the preprocessor and deppending on them the code would compile cleanly for any version.

    So, In this case we want to use a raw CAsyncSocket::Send function. we simply have to declare a char buffer and use conditional compilation as follows:

    char myHugeBuffer[2048];
    ...
    #ifdef _UNICODE
    WideCharToMultiByte(CP_ACP, 0, (LPCWSTR)sFrom, -1, myHugeBuffer, 2048, NULL, NULL);
    #endif
    m_wsSMTPServer.Send(myHugeBuffer, sFrom.GetLength());

    Is just one step more and we are done. We could also have used a generic buffer (m_buffer) for efficency or dynamic memory allocation.

    suggestion: for further improvement is recommended to use threads :)


    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: December 11, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT Market pressures to move more quickly and develop innovative applications are forcing organizations to rethink how they develop and release applications. The combination of public clouds and physical back-end infrastructures are a means to get applications out faster. However, these hybrid solutions complicate DevOps adoption, with application delivery pipelines that span across complex hybrid cloud and non-cloud environments. Check out this …

  • With the average hard drive now averaging one terabyte in size, the fallout from the explosion of user-created data has become an overwhelming volume of potential evidence that law-enforcement and corporate investigators spend countless hours examining. Join Us and SANS' Rob Lee for our 45-minute webinar, A Triage and Collection Strategy for Time-Sensitive Investigations, will demonstrate how to: Identify the folders and files that often contain key insights Reduce the time spent sifting through content by …

Most Popular Programming Stories

More for Developers

RSS Feeds