http://www.naughter.com/smtp.html
CPJNSMTP目前是写的比较完善的MFC程序,目前它源码最新是支持VS2015。
这个库支持多国语言,发送邮件不会出现乱码。
并且支持SSL验证,笔者已在QQ和163邮箱测通过,注意QQ邮箱设置第三方收件,用的是授权码,不是邮箱密码!
下面是笔者的经历,因为该库默认是支持win7系统的,如果要改成支持XP,得修改库:
1.平台工具集改成支持XP,
2.在源码中查找InetNtop,替换成inet_ntoa, 代码如下:
#ifdef _X86_
USES_CONVERSION;
sIP = A2T(inet_ntoa(sockaddr_ipv4->sin_addr));
#else
InetNtop(AF_INET, &sockaddr_ipv4->sin_addr, sIP.GetBufferSetLength(46), 46);
sIP.ReleaseBuffer();
#endif
3.
在"Stdafx.h"
把所有0x0600改成0x0501, 因为0x0600是最小支持vistal的,0x0501最小支持XP
#ifndef WINVER
#define WINVER 0x0501
#endif
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0501
#endif
#ifndef _WIN32_WINDOWS
#define _WIN32_WINDOWS 0x0501
#endif
#ifndef _WIN32_IE
#define _WIN32_IE 0x0501
#endif
另外一个在CodeProject有个比较简单的CSmtp,好用,最新修改版也支持TLS, SSL验证。
最近笔者又发现一个比较好用的库blat,有兴趣的朋友可以去官网下源码,也是支持qq邮箱smtp发送的