📄 esmtp.h
字号:
// eSmtp.h: interface for the CeSmtp class.
//
//////////////////////////////////////////////////////////////////////
#include<WinSock2.h>
#if !defined(AFX_ESMTP_H__386D1E8E_99AB_4F50_AD9B_8628BC5EC373__INCLUDED_)
#define AFX_ESMTP_H__386D1E8E_99AB_4F50_AD9B_8628BC5EC373__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
int const MAX_TEXT_LENTH = 2*1024*1024+1;
int const SMTPSERVER_LENGTH = 50; //smtp服务器名长度
int const MESSEAGE_LENGTH = 100; //m_message的长度
int const SMTP_PORT_NUMBER = 25; //默认的端口号
int const RESPONSEBUFFER_LENGTH = 1024;//缓冲区的大小
int const USERIMF_LENGH = 40; //用户名长度
#define MIME_BOUND "WC_MAIL_PaRt_CeSmtpBoUnDaRy_0515199819831106"
/*
*用于发邮件的CeSmtp类
*
*/
class Address
{
public:
char* m_address;
Address();
~Address();
};
class CeSmtp
{
public:
BOOL FreeTextBuffer();
BOOL AllocTextBuffer(char* text,int len);
void SetUserImf(char* username,char* password,char* addressfrom);
BOOL SendMessage(char* subject,Address* deslist,int numdes);
BOOL DisConnect();
BOOL Connect(char* servername,int portnumber = SMTP_PORT_NUMBER);
CeSmtp();
virtual ~CeSmtp();
enum Auth_Kind
{
AUTH_NONE,
AUTH_LOGIN,
AUTH_PLAIN
};
public:
SYSTEMTIME m_time;
private:
BOOL TransData(char* subject,Address* deslist,int numdes);
BOOL TransMessage(Address* deslist,int numdes);
BOOL getsmtpextend(char* extendname,char* buffer);
BOOL Prepare();
Auth_Kind m_authkind;
int getresponse();
int m_code; //服务器返回的数值
char* m_mailtextbuffer; //邮件正文文本缓冲
char m_rebuffer[RESPONSEBUFFER_LENGTH]; //接收服务器返回消息的缓冲区
char m_message[MESSEAGE_LENGTH]; //字符串消息
char m_smtpserver[SMTPSERVER_LENGTH]; //smtp服务器名
char m_hellohost[SMTPSERVER_LENGTH];
char m_username[USERIMF_LENGH];
char m_password[USERIMF_LENGH];
char m_useraddress[USERIMF_LENGH];
int m_textlen;
SOCKET m_socketid; //socket描述符
};
#endif // !defined(AFX_ESMTP_H__386D1E8E_99AB_4F50_AD9B_8628BC5EC373__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -