📄 smtp.h
字号:
// smtp.h
#ifndef smtp_h
#define smtp_h
#include "afxsock.h"
#include "MailMessage.h"
#define SMTP_PORT 25
#define RESPONSE_BUFFER_SIZE 1024
class CSMTP
{
public:
CSMTP(LPCSTR szSMTPServerName, UINT nPort = SMTP_PORT); // 构造函数
virtual ~CSMTP(); // 析构函数
CString GetLastError(); // 得到错误信息
UINT GetPort(); // 得到SMTP服务器端口号
BOOL Disconnect(); // 断开与服务器的连接
BOOL Connect(); // 与服务器连接
virtual BOOL FormatMailMessage(CMailMessage* msg); // 格式化邮件
BOOL SendMessage(CMailMessage* msg); // 发送邮件信息
CString GetServerHostName(); // 得到SMTP服务器名
void SetServerProperties(LPCSTR szSMTPServerName, UINT nPort); // 设置服务器的属性
void Cancel();
protected:
virtual BOOL transmit_message(CMailMessage* msg); // 传输文件
struct response_code {
UINT nResponse;
TCHAR* sMessage;
};
enum eResponse
{
GENERIC_SUCCESS = 0,
CONNECT_SUCCESS,
DATA_SUCCESS,
QUIT_SUCCESS,
LAST_RESPONSE
};
BOOL SendAuthentication();
TCHAR* response_buf;
static response_code response_table[];
int SendCmd(char *Command);
private:
BOOL get_response(UINT response_expected); // 得到服务器的响应
CString cook_body(CMailMessage* msg); // 格式化邮件
CString m_sError; // 错误信息
BOOL m_bConnected; // 判断是否建立连接
UINT m_nPort; // SMTP服务器所使用得端口号
CString m_sSMTPServerHostName; // SMTP服务器的主机名(地址)
CSocket m_wsSMTPServer; // 将于SMTP服务器建立链接得套接字对象
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -