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

  • On-demand Event Event Date: September 10, 2014 Modern mobile applications connect systems-of-engagement (mobile apps) with systems-of-record (traditional IT) to deliver new and innovative business value. But the lifecycle for development of mobile apps is also new and different. Emerging trends in mobile development call for faster delivery of incremental features, coupled with feedback from the users of the app "in the wild." This loop of continuous delivery and continuous feedback is how the best mobile …

  • On-demand Event Event Date: July 22, 2014 In this WhatWorks analysis, John Pescatore examines a use case where end users had local administrative rights on their PCs and it had gotten out of hand for this Fortune 500 Energy and Utilities company. The compelling event that prompted the company to reexamine this situation was the migration to Windows 7. In Windows XP, a custom tool that allowed users one of three levels of administrative rights to their workstations would need to be replaced during the Windows …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds