www.pudn.com > ZJMailer > ZJMessage.h


// ZJMessage.h: interface for the CZJMessage class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_ZJMESSAGE_H__DFE63A64_DF3E_4A6A_B135_540548BD45DE__INCLUDED_) 
#define AFX_ZJMESSAGE_H__DFE63A64_DF3E_4A6A_B135_540548BD45DE__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
//====================================================== 
// class name: CZJAttachment 
// 
// 功能:  
//		附件名称管理,本类不包括编码 (Encode) 部分,编码 
// (Base64 Encode) 可以使用 class CBase64Buffer 进行。 
 
// 说明: Title 功能未添加,发送 title 使用 FileName 
class CZJAttachment   
{ 
public: 
	// 获取附件个数 
	int GetCount() const; 
 
	// 取得第 nIdx 个附件的文件全名(包含路径), 
	// 以供外部编码部分获取文件路径 
	CString GetFileFullName(int nIdx) const; 
 
	// 获取第 nIdx 个附件的文件名称(不包含路径), 
	// 用来填充 Mime 编码中的 name (本类中称作 Title,未实现) 
	// 和 Mime 编码中的 filename 部分 
 
	// 使用时,应检查 CString ret.IsEmpty() 
	CString GetFileName(int nIdx) const; 
 
	// 删除附件数组中的 sFile 文件路径,如果数组中不 
	// 包含该文件,则返回 false 
	bool DelFile(CString & sFile); 
 
	// 添加附件文件到数组中,建议:sFile 包括文件的全部路径!!! 
	int AddFile(CString & sFile); 
 
	// 清除数组中的所有附件文件 
	void Clear(); 
 
	// 构造/折构函数 
	CZJAttachment(); 
	virtual ~CZJAttachment(); 
 
protected: 
 
	// 附件文件保存数组 
	CStringArray m_attach; 
}; 
 
 
//============================================================ 
// class name: CZJMessage 
// 
// 功能: 
//		保存并生成传送主体信息,调用外部编码类 CBase64Buffer 
// 进行编码,并使用 CZJAttachment 维护附件列表 
 
class CZJMessage   
{ 
public: 
	bool NeedEncode(CString & s); 
	CString GetMailHeader() const; 
	CString GetBoundary() const; 
	// 设置 Content-Type 
	void SetContentType(CString & contentType); 
 
	// 设置 Content-Transfer-Encoding 
	// 这个版本只适用于 Base64 
	// void SetContentEncoding(CString & contentEncoding); 
 
	// 设置信件主题 
	void SetSubject(CString & subject); 
 
	// 设置收件人 
	void SetTo(CString & to); 
 
	// 设置发送人 
	void SetFrom(CString & fromName, CString & fromEmail); 
 
	// 设置 charset (可选) 
	void SetCharSet(CString & charset); 
 
	// 设置邮件主体内容 
	void SetBody(CString & body); 
 
	// 获取 Charset 
	CString GetCharSet() const; 
 
	// 获取 Content-Transfer-Encoding 
	CString GetContentEncoding() const; 
 
	// 获取 Content-Type 
	CString GetContentType() const; 
 
	// 获取 X-mailer 
	CString GetXMailer()const; 
 
	// 获取 收件人 
	CString GetTo() const; 
 
	// 主题 
	CString GetSubject() const; 
 
	// 发件人姓名 
	CString GetFromName()const; 
 
	// 法件人地址 
	CString GetFromEmail() const; 
 
	// 邮件内容主体 
	CString GetBody() const; 
 
	// 构造/析构 
	CZJMessage(); 
	virtual ~CZJMessage(); 
 
	// 附件管理 
	CZJAttachment m_attach;	// Email Attachment Manager 
 
protected: 
	CString GetMailDate() const; 
	CString m_boundary; 
	//  FROM:"m_fromName" 
	//  MAIL FROM: 
	CString m_fromEmail; 
	CString m_fromName; 
 
	//  FROM:m_to; 
	CString m_to; 
	CString m_xMailer; 
	CString m_subject; 
	CString m_body; 
	CString m_contentType;	// Content-Type 
	CString m_contentEncoding; // Content-Transfer-Encoding 
	CString m_charset;	// charset 
}; 
 
#endif // !defined(AFX_ZJMESSAGE_H__DFE63A64_DF3E_4A6A_B135_540548BD45DE__INCLUDED_)