www.pudn.com > ZJMailer > ZJMailAgent.h


// ZJMailAgent.h: interface for the CZJMailAgent class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_ZJMAILAGENT_H__83388C43_D398_4B57_BFE3_D41C70A217EB__INCLUDED_) 
#define AFX_ZJMAILAGENT_H__83388C43_D398_4B57_BFE3_D41C70A217EB__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
#define BUFFER_SIZE	1024 
 
#include "ZJSocket.h" 
#include "ZJMessage.h" 
//------------------------------------------------------------- 
 
class CZJMailAgent   
{ 
public: 
	bool SendMailText(CZJMessage &msg); 
	// 连接完毕,Hello 完毕,验证完毕 
	// 请先调用 Connect & Hello 
 
	// 开始发送信息主体:MAIL FROM:... 
	bool SendMail(CZJMessage & msg); 
 
	// 用于验证:发送 BASE64 编码的用户名称和用户密码 
	int SendBase64Msg(CString & msg); 
 
	// 断开连接 
	void DisConnect(); 
 
	// 传送 HELO 或者 EHLO & AUTH LOGIN 
	// 请先调用 Connect 
	bool Hello(CString & who); 
 
	// 设置是否使用用户验证旗帜 
	void SetAuthLogin(bool login); 
 
	// 设置用户验证数据 
	// 注:是否开启用户验证,请使用 SetAuthLogin 函数 
	void SetAuthLoginParam(CString & name, CString & pass); 
 
	// 获取用户验证旗帜 
	bool GetAuthLogin() const; 
 
	// 连接 smtp 主机服务器 
	bool Connect(LPCTSTR szHost, int nPort=25); 
 
	// 构造/析构 
	CZJMailAgent(); 
	virtual ~CZJMailAgent(); 
 
protected: 
	bool SendAttachment(CString & path, CString & name, CString & boundary); 
	bool SendMailContent(CZJMessage & msg); 
	// 用户验证数据 
	CString m_loginName; 
	CString m_loginPass; 
 
	// 验证旗帜 
	bool m_authLogin; 
 
	// 通讯 socket class 
	CZJSocket m_mail; 
}; 
 
#endif // !defined(AFX_ZJMAILAGENT_H__83388C43_D398_4B57_BFE3_D41C70A217EB__INCLUDED_)