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
  • 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
  • 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
  • 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

  • Mobile is introducing sweeping changes throughout your workplace. As a senior stakeholder driving mobile initiatives in your organization, you may be lost in a sea of technologies and claims from vendors promising rapid delivery of applications to your employees, customers, and partners. To help explain some of the topics you will need to be aware of, and to separate the must-haves from the nice-to-haves, this reference guide can help you with applying a mobile strategy in the context of application …

  • "Security" is the number one issue holding business leaders back from the cloud. But does the reality match the perception? Keeping data close to home, on premises, makes business and IT leaders feel inherently more secure. But the truth is, cloud solutions can offer companies real, tangible security advantages. Before you assume that on-site is the only way to keep data safe, it's worth taking a comprehensive approach to evaluating risks. Doing so can lead to big benefits.

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds