Introduction
This code is a C++ class derived from the ATL class CSMTPConnection
. It adds LOGIN authentication It also allows specifying a custom SMTP port.
Background
The base class is described in detail here.
SMTP negotiating is described here.
Using the Code
Create a Windows project in Visual Studio 2005 and make sure you add ATL support. Create a CAuthSMTPConnection
variable and use the Connect
method. CMimeMessage
is already defined in the ATL libraries and the base class is already set to handle it.
Sample Code
CAuthSMTPConnection SMTP(587,"smtp.server.com","username","password");
if (SMTP.Connect())
{
CMimeMessage msg;
msg.SetSubject(csTFTDHdr);
msg.SetSender("me@somewhere.com");
msg.SetSenderName("Me");
msg.AddRecipient("you@somewhere.com");
msg.AddRecipient("them@somewhere.com");
msg.AddText("Use CAuthSMTPConnection to authenticate SMTP!");
if (SMTP.SendMessage(msg))
AfxMessageBox("Sent Mail");
else
AfxMessageBox("Mail not sent");
}
else
{
AfxMessageBox("Can't connect to mail server");
}
History
- 11/10/09 - Article created
- 11/11/09 - Cleaned up some insecure code
- 04/24/12 - Added support for VS2008