1. 程式人生 > >VC MFC 郵件傳送功能的實現

VC MFC 郵件傳送功能的實現

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驗證。