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_)