acl  3.5.3.0
smtp_client.h 文件参考
+ 此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

struct  SMTP_CLIENT
 

宏定义

#define SMTP_API
 
#define SMTP_FLAG_PIPELINING   (1 << 0)
 
#define SMTP_FLAG_AUTH   (1 << 1)
 
#define SMTP_FLAG_8BITMIME   (1 << 2)
 
#define SMTP_FLAG_DSN   (1 << 3)
 
#define SMTP_FLAG_VRFY   (1 << 4)
 
#define SMTP_FLAG_ETRN   (1 << 5)
 
#define SMTP_FLAG_SIZE   (1 << 6)
 

类型定义

typedef struct SMTP_CLIENT SMTP_CLIENT
 

函数

SMTP_API SMTP_CLIENTsmtp_open (const char *addr, int conn_timeout, int rw_timeout, int line_limit)
 
SMTP_API void smtp_close (SMTP_CLIENT *client)
 
SMTP_API int smtp_get_banner (SMTP_CLIENT *client)
 
SMTP_API int smtp_greet (SMTP_CLIENT *client, const char *name, int ehlo)
 
SMTP_API int smtp_helo (SMTP_CLIENT *client, const char *helo)
 
SMTP_API int smtp_ehlo (SMTP_CLIENT *client, const char *ehlo)
 
SMTP_API int smtp_auth (SMTP_CLIENT *client, const char *user, const char *pass)
 
SMTP_API int smtp_mail (SMTP_CLIENT *client, const char *from)
 
SMTP_API int smtp_rcpt (SMTP_CLIENT *client, const char *to)
 
SMTP_API int smtp_data (SMTP_CLIENT *client)
 
SMTP_API int smtp_send (SMTP_CLIENT *client, const char *src, size_t len)
 
SMTP_API int smtp_printf (SMTP_CLIENT *client, const char *fmt,...)
 
SMTP_API int smtp_data_end (SMTP_CLIENT *client)
 
SMTP_API int smtp_send_file (SMTP_CLIENT *client, const char *filepath)
 
SMTP_API int smtp_send_stream (SMTP_CLIENT *client, ACL_VSTREAM *in)
 
SMTP_API int smtp_quit (SMTP_CLIENT *client)
 
SMTP_API int smtp_noop (SMTP_CLIENT *client)
 
SMTP_API int smtp_rset (SMTP_CLIENT *client)
 

宏定义说明

◆ SMTP_API

#define SMTP_API

在文件 smtp_client.h23 行定义.

◆ SMTP_FLAG_8BITMIME

#define SMTP_FLAG_8BITMIME   (1 << 2)

在文件 smtp_client.h34 行定义.

◆ SMTP_FLAG_AUTH

#define SMTP_FLAG_AUTH   (1 << 1)

在文件 smtp_client.h33 行定义.

◆ SMTP_FLAG_DSN

#define SMTP_FLAG_DSN   (1 << 3)

在文件 smtp_client.h35 行定义.

◆ SMTP_FLAG_ETRN

#define SMTP_FLAG_ETRN   (1 << 5)

在文件 smtp_client.h37 行定义.

◆ SMTP_FLAG_PIPELINING

#define SMTP_FLAG_PIPELINING   (1 << 0)

在文件 smtp_client.h32 行定义.

◆ SMTP_FLAG_SIZE

#define SMTP_FLAG_SIZE   (1 << 6)

在文件 smtp_client.h38 行定义.

◆ SMTP_FLAG_VRFY

#define SMTP_FLAG_VRFY   (1 << 4)

在文件 smtp_client.h36 行定义.

类型定义说明

◆ SMTP_CLIENT

typedef struct SMTP_CLIENT SMTP_CLIENT

函数说明

◆ smtp_auth()

SMTP_API int smtp_auth ( SMTP_CLIENT client,
const char *  user,
const char *  pass 
)

向 SMTP 服务器发送验证信息

参数
client{SMTP_CLIENT*} SMTP 连接对象
user{const char*} SMTP 邮件账号
pass{const char*} SMTP 邮件账号密码
返回
{int} 0 表示成功(SMTP_CLIENT::smtp_code 表示返回码, SMTP_CLIENT::buf 存储响应内容),否则表示出错,应该关闭连接对象

◆ smtp_close()

SMTP_API void smtp_close ( SMTP_CLIENT client)

关闭由 smtp_open 打开的 SMTP 连接并释放对象

参数
client{SMTP_CLIENT*} SMTP 连接对象

◆ smtp_data()

SMTP_API int smtp_data ( SMTP_CLIENT client)

向 SMTP 服务器发送 DATA 命令

参数
client{SMTP_CLIENT*} SMTP 连接对象
返回
{int} 0 表示成功(SMTP_CLIENT::smtp_code 表示返回码, SMTP_CLIENT::buf 存储响应内容),否则表示出错,应该关闭连接对象

◆ smtp_data_end()

SMTP_API int smtp_data_end ( SMTP_CLIENT client)

发送完邮件内容后调用本函数告诉 SMTP 服务器邮件数据完毕

参数
client{SMTP_CLIENT*} SMTP 连接对象
返回
{int} 0 表示成功(SMTP_CLIENT::smtp_code 表示返回码, SMTP_CLIENT::buf 存储响应内容),否则表示出错,应该关闭连接对象

◆ smtp_ehlo()

SMTP_API int smtp_ehlo ( SMTP_CLIENT client,
const char *  ehlo 
)

向 SMTP 服务器发送 EHLO 命令

参数
client{SMTP_CLIENT*} SMTP 连接对象
ehlo{const char*} 握手信息,一般用域名
返回
{int} 0 表示成功(SMTP_CLIENT::smtp_code 表示返回码, SMTP_CLIENT::buf 存储响应内容),否则表示出错,应该关闭连接对象

◆ smtp_get_banner()

SMTP_API int smtp_get_banner ( SMTP_CLIENT client)

获得 SMTP 服务器的欢迎信息

参数
client{SMTP_CLIENT*} SMTP 连接对象
返回
{int} 0 表示成功(SMTP_CLIENT::smtp_code 表示返回码, SMTP_CLIENT::buf 存储响应内容),否则表示出错,应该关闭连接对象

◆ smtp_greet()

SMTP_API int smtp_greet ( SMTP_CLIENT client,
const char *  name,
int  ehlo 
)

向 SMTP 服务器发送 HELO/EHLO 命令

参数
client{SMTP_CLIENT*} SMTP 连接对象
name{const char*} 握手信息,一般用域名
ehlo{int} 非 0 时使用 EHLO,否则使用 HELO
返回
{int} 0 表示成功(SMTP_CLIENT::smtp_code 表示返回码, SMTP_CLIENT::buf 存储响应内容),否则表示出错,应该关闭连接对象

◆ smtp_helo()

SMTP_API int smtp_helo ( SMTP_CLIENT client,
const char *  helo 
)

向 SMTP 服务器发送 HELO 命令

参数
client{SMTP_CLIENT*} SMTP 连接对象
helo{const char*} 握手信息,一般用域名
返回
{int} 0 表示成功(SMTP_CLIENT::smtp_code 表示返回码, SMTP_CLIENT::buf 存储响应内容),否则表示出错,应该关闭连接对象

◆ smtp_mail()

SMTP_API int smtp_mail ( SMTP_CLIENT client,
const char *  from 
)

向 SMTP 服务器发送 MAIL FROM 命令

参数
client{SMTP_CLIENT*} SMTP 连接对象
from{const char*} 发送者邮箱
返回
{int} 0 表示成功(SMTP_CLIENT::smtp_code 表示返回码, SMTP_CLIENT::buf 存储响应内容),否则表示出错,应该关闭连接对象

◆ smtp_noop()

SMTP_API int smtp_noop ( SMTP_CLIENT client)

向 SMTP 服务器发送 NOOP 命令

参数
client{SMTP_CLIENT*} SMTP 连接对象
返回
{int} 0 表示成功(SMTP_CLIENT::smtp_code 表示返回码, SMTP_CLIENT::buf 存储响应内容),否则表示出错,应该关闭连接对象

◆ smtp_open()

SMTP_API SMTP_CLIENT* smtp_open ( const char *  addr,
int  conn_timeout,
int  rw_timeout,
int  line_limit 
)

远程连接 SMTP 服务器

参数
addr{const char*} SMTP 服务器地址,格式:domain:port
conn_timeout{int} 连接超时时间
rw_timeout{int} IO读写超时时间
line_limit{int} SMTP 会话过程中每行的最大长度限制
返回
{SMTP_CLIENT*} 连接成功返回非空值,否则返回 NULL

◆ smtp_printf()

SMTP_API int smtp_printf ( SMTP_CLIENT client,
const char *  fmt,
  ... 
)

向 SMTP 服务器发送邮件体内容,可以循环调用本函数直至数据发送完毕

参数
client{SMTP_CLIENT*} SMTP 连接对象
fmt{const char*} 格式字符串
...变参
返回
{int} 0 表示成功(SMTP_CLIENT::smtp_code 表示返回码, SMTP_CLIENT::buf 存储响应内容),否则表示出错,应该关闭连接对象

◆ smtp_quit()

SMTP_API int smtp_quit ( SMTP_CLIENT client)

向 SMTP 服务器发送退出(QUIT)命令

参数
client{SMTP_CLIENT*} SMTP 连接对象
返回
{int} 0 表示成功(SMTP_CLIENT::smtp_code 表示返回码, SMTP_CLIENT::buf 存储响应内容),否则表示出错,应该关闭连接对象

◆ smtp_rcpt()

SMTP_API int smtp_rcpt ( SMTP_CLIENT client,
const char *  to 
)

向 SMTP 服务器发送 RCPT TO 命令

参数
client{SMTP_CLIENT*} SMTP 连接对象
to{const char*} 接收者邮箱
返回
{int} 0 表示成功(SMTP_CLIENT::smtp_code 表示返回码, SMTP_CLIENT::buf 存储响应内容),否则表示出错,应该关闭连接对象

◆ smtp_rset()

SMTP_API int smtp_rset ( SMTP_CLIENT client)

向 SMTP 服务器发送 RSET 命令

参数
client{SMTP_CLIENT*} SMTP 连接对象
返回
{int} 0 表示成功(SMTP_CLIENT::smtp_code 表示返回码, SMTP_CLIENT::buf 存储响应内容),否则表示出错,应该关闭连接对象

◆ smtp_send()

SMTP_API int smtp_send ( SMTP_CLIENT client,
const char *  src,
size_t  len 
)

向 SMTP 服务器发送邮件体内容,可以循环调用本函数直至数据发送完毕

参数
client{SMTP_CLIENT*} SMTP 连接对象
src{const char*} 遵守邮件 MIME 编码格式的邮件体内容
len{size_t} src 数据长度
返回
{int} 0 表示成功(SMTP_CLIENT::smtp_code 表示返回码, SMTP_CLIENT::buf 存储响应内容),否则表示出错,应该关闭连接对象

◆ smtp_send_file()

SMTP_API int smtp_send_file ( SMTP_CLIENT client,
const char *  filepath 
)

向 SMTP 服务器发送指定件路径的邮件文件

参数
client{SMTP_CLIENT*} SMTP 连接对象
filepath{const char*} 邮件文件路径
返回
{int} 0 表示成功(SMTP_CLIENT::smtp_code 表示返回码, SMTP_CLIENT::buf 存储响应内容),否则表示出错,应该关闭连接对象

◆ smtp_send_stream()

SMTP_API int smtp_send_stream ( SMTP_CLIENT client,
ACL_VSTREAM in 
)

向 SMTP 服务器发送给定文件流的邮件内容

参数
client{SMTP_CLIENT*} SMTP 连接对象
in{ACL_VSTREAM*} 邮件文件输入流
返回
{int} 0 表示成功(SMTP_CLIENT::smtp_code 表示返回码, SMTP_CLIENT::buf 存储响应内容),否则表示出错,应该关闭连接对象