1
// HwSMTP.h: interface for the CHwSMTP class.
3 //////////////////////////////////////////////////////////////////////
5 /*******************************************************************
7 1、这是我自己写的一个利用SMTP服务器发送邮件的类,可以实现附件的
9 2、在 InitInstance() 函数调用
12 AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
15 在 ExitInstance () 中调用 ::WSACleanup ();
16 *******************************************************************/
18 /****************************************************************************************************************
20 ****************************************************************************************************************/
21 #define NOTE_SpeedPostMail \
24 无须SMTP服务器中转直接将E-Mail电子邮件发送到对方邮箱\r\n\
30 谢红伟 · chrys · chrys@163.com · http://www.viction.net\r\n\
32 大家一定熟悉Foxmail中的“特快专递”,它能直接将邮件发送到对方的邮件服务器中,而不需要经过SMTP服务器中转,\
33 本代码将向你剖析“特快专递”发送电子邮件的方法。代码中提供了网卡信息获取类,可以获取本机IP地址、子网掩码、DNS、\
34 Wins、网卡MAC地址等相关信息;还提供了SMTP协议解析类,该类实现了SMTP客户端功能的实现类,实现电子邮件收发;Base64编码实现\
36 你可以任意修改复制本代码,但请保留这段文字不要修改。\r\n\
37 希望我能为中国的软件行业尽一份薄力!\r\n\
43 #define SECURITY_WIN32
50 #if !defined(AFX_HwSMTP_H__633A52B7_1CBE_41D7_BDA3_188D98D692AF__INCLUDED_)
51 #define AFX_HwSMTP_H__633A52B7_1CBE_41D7_BDA3_188D98D692AF__INCLUDED_
55 #endif // _MSC_VER > 1000
67 CString
GetLastErrorText();
69 LPCTSTR lpszSmtpSrvHost
,
77 LPCTSTR lpszCharSet
, // 字符集类型,例如:繁体中文这里应输入"big5",简体中文时输入"gb2312"
78 CStringArray
*pStrAryAttach
=NULL
,
79 LPCTSTR pStrAryCC
=NULL
,
82 LPCTSTR pToList
= NULL
,
83 DWORD secLevel
= SECURITY_LEVEL::none
91 LPCTSTR lpszCharSet
, // 字符集类型,例如:繁体中文这里应输入"big5",简体中文时输入"gb2312"
92 CStringArray
*pStrAryAttach
=NULL
,
93 LPCTSTR pStrAryCC
=NULL
,
100 CString
GetServerAddress(CString
&email
);
101 void GetNameAddress(CString
&in
, CString
&name
,CString
&address
);
104 BOOL
SendSubject(const CString
&hostname
);
109 BOOL
Send ( const CString
&data
);
110 BOOL
SendBuffer(char *buffer
,int size
=-1);
111 BOOL
GetResponse( LPCTSTR lpszVerifyCode
, int *pnCode
=NULL
);
114 CStringArray m_StrAryAttach
;
115 CString m_csSmtpSrvHost
;
116 CString m_csUserName
;
118 CString m_csAddrFrom
;
120 CString m_csFromName
;
121 CString m_csReceiverName
;
127 CtxtHandle
* hContext
;
129 SecPkgContext_StreamSizes Sizes
;
131 DWORD cbIoBufferLength
;
132 SECURITY_LEVEL m_iSecurityLevel
;
138 CString m_csLastError
;
139 BOOL
SendOnAttach(LPCTSTR lpszFileName
);
142 CString m_csMIMEContentType
;
143 CString m_csPartBoundary
;
144 CString m_csNoMIMEText
;
147 #endif // !defined(AFX_HwSMTP_H__633A52B7_1CBE_41D7_BDA3_188D98D692AF__INCLUDED_)