acl  3.5.3.0
acl::mail_body类 参考

#include <mail_body.hpp>

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

Public 成员函数

 mail_body (const char *charset="utf-8", const char *encoding="base64")
 
 ~mail_body ()
 
const stringget_content_type () const
 
const http_ctypeget_ctype () const
 
mail_bodyset_html (const char *html, size_t len)
 
mail_bodyset_plain (const char *plain, size_t len)
 
mail_bodyset_alternative (const char *html, size_t hlen, const char *plain, size_t plen)
 
mail_bodyset_relative (const char *html, size_t hlen, const char *plain, size_t plen, const std::vector< mail_attach * > &attachments)
 
const char * get_html (size_t &len) const
 
const char * get_plain (size_t &len) const
 
const std::vector< mail_attach * > * get_attachments () const
 
bool save_to (ostream &out) const
 
bool save_to (string &out) const
 
bool save_html (const char *in, size_t len, string &out) const
 
bool save_plain (const char *in, size_t len, string &out) const
 
bool save_relative (const char *html, size_t hlen, const char *plain, size_t plen, const std::vector< mail_attach * > &attachments, string &out) const
 
bool save_alternative (const char *html, size_t hlen, const char *plain, size_t plen, string &out) const
 

额外继承的成员函数

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

详细描述

邮件正文构建类

在文件 mail_body.hpp18 行定义.

构造及析构函数说明

◆ mail_body()

acl::mail_body::mail_body ( const char *  charset = "utf-8",
const char *  encoding = "base64" 
)

构造函数

参数
charset{const char*} 正文的字符集
encoding{const char*} 正文的编码格式

◆ ~mail_body()

acl::mail_body::~mail_body ( )

成员函数说明

◆ get_attachments()

const std::vector<mail_attach*>* acl::mail_body::get_attachments ( ) const
inline

获得 set_attachments 函数设置的附件集合

返回
{const std::vector<mail_attach*>*}

在文件 mail_body.hpp118 行定义.

119  {
120  return attachments_;
121  }

◆ get_content_type()

const string& acl::mail_body::get_content_type ( ) const
inline

获得正文折内容类型

返回
{const string&}

在文件 mail_body.hpp34 行定义.

35  {
36  return content_type_;
37  }

◆ get_ctype()

const http_ctype& acl::mail_body::get_ctype ( ) const
inline

获得正文内容类型对象

返回
{const http_ctype&}

在文件 mail_body.hpp43 行定义.

44  {
45  return ctype_;
46  }

◆ get_html()

const char* acl::mail_body::get_html ( size_t &  len) const
inline

获得 set_html 函数设置的 html/plain 数据

参数
len{size_t} 存放数据长度结果
返回
{const char*}

在文件 mail_body.hpp97 行定义.

98  {
99  len = hlen_;
100  return html_;
101  }

◆ get_plain()

const char* acl::mail_body::get_plain ( size_t &  len) const
inline

获得 set_plain 函数设置的 plain/plain 数据

参数
len{size_t} 存放数据长度结果
返回
{const char*}

在文件 mail_body.hpp108 行定义.

109  {
110  len = plen_;
111  return plain_;
112  }

◆ save_alternative()

bool acl::mail_body::save_alternative ( const char *  html,
size_t  hlen,
const char *  plain,
size_t  plen,
string out 
) const

multipart/alternative 格式的邮件正文构造过程,并将结果追加于给定的缓冲区中

参数
html{const char*} 输入的 html 格式数据
hlen{size_t} html 的数据长度
plain{const char*} 正文中的 TEXT 数据(非空)
plen{size_t} plain 数据长度(>0)
out{string&} 以数据追加方式存储结果
返回
{bool} 操作是否成功

◆ save_html()

bool acl::mail_body::save_html ( const char *  in,
size_t  len,
string out 
) const

text/html 格式的邮件正文构造过程,并将结果追加于给定的缓冲区中

参数
in{const char*} 输入的 html 格式数据
len{size_t} in 的数据长度
out{string&} 以数据追加方式存储结果
返回
{bool} 操作是否成功

◆ save_plain()

bool acl::mail_body::save_plain ( const char *  in,
size_t  len,
string out 
) const

text/plain 格式的邮件正文构造过程,并将结果追加于给定的缓冲区中

参数
in{const char*} 输入的 plain 格式数据
len{size_t} in 的数据长度
out{string&} 以数据追加方式存储结果
返回
{bool} 操作是否成功

◆ save_relative()

bool acl::mail_body::save_relative ( const char *  html,
size_t  hlen,
const char *  plain,
size_t  plen,
const std::vector< mail_attach * > &  attachments,
string out 
) const

multipart/relative 格式的邮件正文构造过程,并将结果追加于给定的缓冲区中

参数
html{const char*} 输入的 html 格式数据
hlen{size_t} html 的数据长度
plain{const char*} 正文中的 TEXT 数据(非空)
plen{size_t} plain 数据长度(>0)
attachments{const std::vector<mail_attach*>&} 存放 与 html 中的 cid 相关的图片等附件对象
out{string&} 以数据追加方式存储结果
返回
{bool} 操作是否成功

◆ save_to() [1/2]

bool acl::mail_body::save_to ( ostream out) const

构造邮件正文并将结果追加于给定的输出流中

参数
out{ostream&} 输出流对象
返回
{bool} 操作是否成功

◆ save_to() [2/2]

bool acl::mail_body::save_to ( string out) const

构造邮件正文并将结果追加于给定的缓冲区中

参数
out{string&} 存储结果
返回
{bool} 操作是否成功

◆ set_alternative()

mail_body& acl::mail_body::set_alternative ( const char *  html,
size_t  hlen,
const char *  plain,
size_t  plen 
)

当邮件内容为 multipart/alternative 格式时调用此函数设置相应类型的 正文内容

参数
html{const char*} 正文中的 HTML 数据(非空)
hlen{size_t} html 数据长度(>0)
plain{const char*} 正文中的 TEXT 数据(非空)
plen{size_t} plain 数据长度(>0)
返回
{mail_body&}

◆ set_html()

mail_body& acl::mail_body::set_html ( const char *  html,
size_t  len 
)

设置邮件正文为 TEXT/HTML 格式

参数
html{const char*} HTML 数据
len{size_t} html 数据长度(虽然 html 是字符串格式,但提供 数据长度有利于调用更灵活高效,内部不再重新通过 strlen 计算长度)
返回
{mail_body&}

◆ set_plain()

mail_body& acl::mail_body::set_plain ( const char *  plain,
size_t  len 
)

设置邮件正文为 TEXT/PLAIN 格式

参数
plain{const char*} TEXT 数据
len{size_t} plain 数据长度(虽然 plain 是文本格式,但提供 数据长度有利于调用更灵活高效,内部不再重新通过 strlen 计算长度)
返回
{mail_body&}

◆ set_relative()

mail_body& acl::mail_body::set_relative ( const char *  html,
size_t  hlen,
const char *  plain,
size_t  plen,
const std::vector< mail_attach * > &  attachments 
)

当邮件正文内容为 multipart/relative 格式时调用此函数设置正文内容

参数
html{const char*} 正文中的 HTML 数据(非空)
hlen{size_t} html 数据长度(>0)
plain{const char*} 正文中的 plain 数据(非空)
plen{size_t} plain 数据长度(>0)
attachments{const std::vector<mail_attach*>&} 存放 与 html 中的 cid 相关的图片等附件对象
返回
{mail_body&}

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