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