acl  3.5.3.0
acl::mail_message类 参考

#include <mail_message.hpp>

+ 类 acl::mail_message 继承关系图:
+ acl::mail_message 的协作图:

Public 成员函数

 mail_message (const char *charset="utf-8")
 
 ~mail_message ()
 
mail_messageset_auth (const char *user, const char *pass)
 
mail_messageset_from (const char *from, const char *name=NULL)
 
mail_messageset_sender (const char *sender, const char *name=NULL)
 
mail_messageset_reply_to (const char *reply_to, const char *name=NULL)
 
mail_messageset_return_path (const char *return_path)
 
mail_messageset_delivered_to (const char *delivered_to)
 
mail_messageadd_recipients (const char *recipients)
 
mail_messageadd_to (const char *to)
 
mail_messageadd_cc (const char *cc)
 
mail_messageadd_bcc (const char *bcc)
 
mail_messageset_subject (const char *subject)
 
mail_messageadd_header (const char *name, const char *value)
 
mail_messageset_body (const mail_body &body)
 
mail_messageadd_attachment (const char *filepath, const char *content_type)
 
bool save_to (const char *filepath)
 
bool build_header (string &out)
 
const char * get_email () const
 
const char * get_auth_user () const
 
const char * get_auth_pass () const
 
const rfc822_addrget_from () const
 
const rfc822_addrget_sender () const
 
const rfc822_addrget_reply_to () const
 
const rfc822_addrget_return_path () const
 
const rfc822_addrget_delivered_to () const
 
const std::vector< rfc822_addr * > & get_to () const
 
const std::vector< rfc822_addr * > & get_cc () const
 
const std::vector< rfc822_addr * > & get_bcc () const
 
const std::vector< rfc822_addr * > & get_recipients () const
 
const char * get_header_value (const char *name) const
 

静态 Public 成员函数

static void create_boundary (const char *id, string &out)
 

额外继承的成员函数

- Protected 成员函数 继承自 acl::acl::noncopyable
 noncopyable ()
 
 ~noncopyable ()
 

详细描述

邮件数据构造类,此类可以生成一封完整的邮件,同时还用于构建 SMTP 发送过程 的邮件信封信息

在文件 mail_message.hpp21 行定义.

构造及析构函数说明

◆ mail_message()

acl::mail_message::mail_message ( const char *  charset = "utf-8")

构造函数

参数
charset{const char*} 字符集

◆ ~mail_message()

acl::mail_message::~mail_message ( )

成员函数说明

◆ add_attachment()

mail_message& acl::mail_message::add_attachment ( const char *  filepath,
const char *  content_type 
)

给一封邮件添加一个附件

参数
filepath{const char*} 附件全路径(非空)
content_type{const char*} 附件类型(非空)
返回
{mail_message&}

◆ add_bcc()

mail_message& acl::mail_message::add_bcc ( const char *  bcc)

设置邮件发送的暗送地址集合,该地址集合不会出现在邮件头中

参数
bcc{const char*} 暗送邮箱地址集合,遵守 RFC822 格式
返回
{mail_message&}

◆ add_cc()

mail_message& acl::mail_message::add_cc ( const char *  cc)

设置邮件头中的 Cc 字段值,同时该收件人地址集合被用于信封中作为收件人

参数
cc{const char*} 收件人邮箱地址集合,遵守 RFC822 格式
返回
{mail_message&}

◆ add_header()

mail_message& acl::mail_message::add_header ( const char *  name,
const char *  value 
)

用户可以调用此函数添加邮件头中的头部扩展字段值

参数
name{const char*} 字段名
value{const char*} 字段值
返回
{mail_message&}

◆ add_recipients()

mail_message& acl::mail_message::add_recipients ( const char *  recipients)

添加收件人地址,该地址仅出现在信封中,不出现在邮件头中

参数
recipients{const char*} 收件人集合,遵守 RFC822 格式
返回
{mail_message&}

◆ add_to()

mail_message& acl::mail_message::add_to ( const char *  to)

设置邮件头中的 To 字段值,同时该收件人地址集合被用于信封中作为收件人

参数
to{const char*} 收件人邮箱地址集合,遵守 RFC822 格式
返回
{mail_message&}

◆ build_header()

bool acl::mail_message::build_header ( string out)

可以单独调用本函数用来生成邮件头数据

参数
out{string&} 创建的邮件头数据将追加于该缓冲区中
返回
{bool} 操作是否成功

◆ create_boundary()

static void acl::mail_message::create_boundary ( const char *  id,
string out 
)
static

为 MIME 数据创建唯一的分隔符

参数
id{const char*} 调用者填写的 ID 标识
out{string&} 存储结果

◆ get_auth_pass()

const char* acl::mail_message::get_auth_pass ( ) const
inline

获得用于 SMTP 身份验证时的邮箱账号密码

返回
{const char*}

在文件 mail_message.hpp169 行定义.

170  {
171  return auth_pass_;
172  }

◆ get_auth_user()

const char* acl::mail_message::get_auth_user ( ) const
inline

获得用于 SMTP 身份验证时的邮箱账号

返回
{const char*}

在文件 mail_message.hpp160 行定义.

161  {
162  return auth_user_;
163  }

◆ get_bcc()

const std::vector<rfc822_addr*>& acl::mail_message::get_bcc ( ) const
inline

获得由 set_bcc 设置的邮箱地址对象集合

返回
{const std::vector<rfc822_addr*>&}

在文件 mail_message.hpp237 行定义.

238  {
239  return bcc_list_;
240  }

◆ get_cc()

const std::vector<rfc822_addr*>& acl::mail_message::get_cc ( ) const
inline

获得由 set_cc 设置的邮箱地址对象集合

返回
{const std::vector<rfc822_addr*>&}

在文件 mail_message.hpp228 行定义.

229  {
230  return cc_list_;
231  }

◆ get_delivered_to()

const rfc822_addr* acl::mail_message::get_delivered_to ( ) const
inline

获得由 set_delivered_to 设置的邮箱地址对象

返回
{const rfc822_addr*}

在文件 mail_message.hpp214 行定义.

215  {
216  return delivered_to_;
217  }

◆ get_email()

const char* acl::mail_message::get_email ( ) const
inline

获得所创建的邮件在磁盘上的全路径,该函数必须在调用 save_to 成功后调用

返回
{const char*}

在文件 mail_message.hpp151 行定义.

152  {
153  return filepath_;
154  }

◆ get_from()

const rfc822_addr* acl::mail_message::get_from ( ) const
inline

获得由 set_from 设置的邮箱地址对象

返回
{const rfc822_addr*}

在文件 mail_message.hpp178 行定义.

179  {
180  return from_;
181  }

◆ get_header_value()

const char* acl::mail_message::get_header_value ( const char *  name) const

获得用户设置的邮件头扩展字段值

参数
name{const char*} 字段名
返回
{const char*}

◆ get_recipients()

const std::vector<rfc822_addr*>& acl::mail_message::get_recipients ( ) const
inline

获得所有邮件接收者的地址集合

返回
{const std::vector<rfc822_addr*>&}

在文件 mail_message.hpp246 行定义.

247  {
248  return recipients_;
249  }

◆ get_reply_to()

const rfc822_addr* acl::mail_message::get_reply_to ( ) const
inline

获得由 set_reply_to 设置的邮箱地址对象

返回
{const rfc822_addr*}

在文件 mail_message.hpp196 行定义.

197  {
198  return reply_to_;
199  }

◆ get_return_path()

const rfc822_addr* acl::mail_message::get_return_path ( ) const
inline

获得由 set_return_path 设置的邮箱地址对象

返回
{const rfc822_addr*}

在文件 mail_message.hpp205 行定义.

206  {
207  return return_path_;
208  }

◆ get_sender()

const rfc822_addr* acl::mail_message::get_sender ( ) const
inline

获得由 set_sender 设置的邮箱地址对象

返回
{const rfc822_addr*}

在文件 mail_message.hpp187 行定义.

188  {
189  return sender_;
190  }

◆ get_to()

const std::vector<rfc822_addr*>& acl::mail_message::get_to ( ) const
inline

在文件 mail_message.hpp219 行定义.

220  {
221  return to_list_;
222  }

◆ save_to()

bool acl::mail_message::save_to ( const char *  filepath)

构造一封完整的邮件,并将邮件内容存储于给定磁盘文件中,如果该文件 存在则首先会清空,否则会创建新的文件

参数
filepath{const char*} 目标文件
返回
{bool} 操作是否成功

◆ set_auth()

mail_message& acl::mail_message::set_auth ( const char *  user,
const char *  pass 
)

设置 SMTP 发送过程的身份验证信息

参数
user{const char*} 邮箱账号
pass{const char*} 邮箱密码
返回
{mail_message&}

◆ set_body()

mail_message& acl::mail_message::set_body ( const mail_body body)

设置邮件的正文对象

参数
body{const mail_body&} 邮件正文对象
返回
{mail_message&}

◆ set_delivered_to()

mail_message& acl::mail_message::set_delivered_to ( const char *  delivered_to)

设置邮件头中的 Delivered-To 字段值

参数
delivered_to{const char*} Delivered-To 邮箱字段值
返回
{mail_message&}

◆ set_from()

mail_message& acl::mail_message::set_from ( const char *  from,
const char *  name = NULL 
)

设置邮件的发送都邮箱,此字段可用于 SMTP 发送过程的 MAIL FROM 命令, 同时又可作为邮件头中的 From 字段值

参数
from{const char*} 发件人邮件地址
name{const char*} 发件人名称
返回
{mail_message&}

◆ set_reply_to()

mail_message& acl::mail_message::set_reply_to ( const char *  reply_to,
const char *  name = NULL 
)

设置邮件头中的 Reply-To 字段值

参数
reply_to{const char*} Reply-To 邮箱字段值
name{const char*} Reply-To 对应的人员名称
返回
{mail_message&}

◆ set_return_path()

mail_message& acl::mail_message::set_return_path ( const char *  return_path)

设置邮件头中的 Return-Path 字段值

参数
return_path{const char*} Return-Path 邮箱字段值
返回
{mail_message&}

◆ set_sender()

mail_message& acl::mail_message::set_sender ( const char *  sender,
const char *  name = NULL 
)

◆ set_subject()

mail_message& acl::mail_message::set_subject ( const char *  subject)

设置邮件头中的主题,该主题将采用 rfc2047 编码且采用类构造函数 设置的字符集

参数
subject{const char*} 邮件头主题字段值
返回
{mail_message&}

该类的文档由以下文件生成: