xrtPop3ClientConfigInit
初始化明文 110 端口并默认读取 CAPA。
void xrtPop3ClientConfigInit(xpop3clientconfig* pConfig);
| 参数 | 说明 |
|---|---|
| xpop3clientconfig* pConfig | 配置结构 |
返回:初始化明文 110 端口并默认读取 CAPA。
示例已编译验证
pop3clientconfiginit obj; xrtPop3ClientConfigInit(&obj);
xrtPop3ClientConfigValid
验证网络配置和 STLS 所需的能力读取设置。
bool xrtPop3ClientConfigValid(const xpop3clientconfig* pConfig);
| 参数 | 说明 |
|---|---|
| const xpop3clientconfig* pConfig | 配置结构 |
返回:验证网络配置和 STLS 所需的能力读取设置。
示例已编译验证
/* 验证网络配置和 STLS 所需的能力读取设置。 */ result = xrtPop3ClientConfigValid(pConfig);
xrtPop3ClientOpen
建立连接,验证 greeting,读取 CAPA 并按需完成 STLS。
xpop3client* xrtPop3ClientOpen( const xpop3clientconfig* pConfig, xdeadline iDeadline, xcancel* pCancel );
| 参数 | 说明 |
|---|---|
| const xpop3clientconfig* pConfig | 配置结构 |
| xdeadline iDeadline | 截止时间 |
| xcancel* pCancel | 取消令牌 |
返回:建立连接,验证 greeting,读取 CAPA 并按需完成 STLS。
示例已编译验证
/* 建立连接,验证 greeting,读取 CAPA 并按需完成 STLS。 */ result = xrtPop3ClientOpen(pConfig, iDeadline, pCancel);
xrtPop3ClientState
返回当前 POP3 状态。
xpop3clientstate xrtPop3ClientState(const xpop3client* pClient);
| 参数 | 说明 |
|---|---|
| const xpop3client* pClient | 客户端对象 |
返回:返回当前 POP3 状态。
示例已编译验证
/* 返回当前 POP3 状态。 */ result = xrtPop3ClientState(pClient);
xrtPop3ClientCapabilities
返回最近一次 CAPA 的已知能力位集。
uint32 xrtPop3ClientCapabilities(const xpop3client* pClient);
| 参数 | 说明 |
|---|---|
| const xpop3client* pClient | 客户端对象 |
返回:返回最近一次 CAPA 的已知能力位集。
示例已编译验证
/* 返回最近一次 CAPA 的已知能力位集。 */ result = xrtPop3ClientCapabilities(pClient);
xrtPop3ClientSaslMechanisms
返回最近一次 CAPA 中 SASL 参数列出的已知认证机制。
uint32 xrtPop3ClientSaslMechanisms(const xpop3client* pClient);
| 参数 | 说明 |
|---|---|
| const xpop3client* pClient | 客户端对象 |
返回:返回最近一次 CAPA 中 SASL 参数列出的已知认证机制。
示例已编译验证
/* 返回最近一次 CAPA 中 SASL 参数列出的已知认证机制。 */ result = xrtPop3ClientSaslMechanisms(pClient);
xrtPop3ClientSecurity
返回当前会话实际使用的传输安全级别。
xmailsecurity xrtPop3ClientSecurity(const xpop3client* pClient);
| 参数 | 说明 |
|---|---|
| const xpop3client* pClient | 客户端对象 |
返回:返回当前会话实际使用的传输安全级别。
示例已编译验证
/* 返回当前会话实际使用的传输安全级别。 */ result = xrtPop3ClientSecurity(pClient);
xrtPop3ClientLastReply
取得最近状态行的稳定借用视图。
bool xrtPop3ClientLastReply( const xpop3client* pClient, xpop3reply* pReply );
| 参数 | 说明 |
|---|---|
| const xpop3client* pClient | 客户端对象 |
| xpop3reply* pReply | 回复队列 |
返回:取得最近状态行的稳定借用视图。
示例已编译验证
/* 取得最近状态行的稳定借用视图。 */ result = xrtPop3ClientLastReply(pClient, pReply);
xrtPop3ClientSend
发送一条不含 CRLF 的低层 POP3 行。
bool xrtPop3ClientSend( xpop3client* pClient, xstrview Line, xdeadline iDeadline, xcancel* pCancel );
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
| xstrview Line | Lne 参数 |
| xdeadline iDeadline | 截止时间 |
| xcancel* pCancel | 取消令牌 |
返回:发送一条不含 CRLF 的低层 POP3 行。
示例已编译验证
/* 发送一条不含 CRLF 的低层 POP3 行。 */ result = xrtPop3ClientSend(pClient, Line, iDeadline, pCancel);
xrtPop3ClientAuthLine
发送可超过普通命令上限的 SASL 响应或取消行。
bool xrtPop3ClientAuthLine( xpop3client* pClient, xstrview Line, xdeadline iDeadline, xcancel* pCancel );
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
| xstrview Line | Lne 参数 |
| xdeadline iDeadline | 截止时间 |
| xcancel* pCancel | 取消令牌 |
返回:发送可超过普通命令上限的 SASL 响应或取消行。
示例已编译验证
/* 发送可超过普通命令上限的 SASL 响应或取消行。 */ result = xrtPop3ClientAuthLine(pClient, Line, iDeadline, pCancel);
xrtPop3ClientLine
读取一条不含 CRLF 的原始线路,用于 SASL continuation 等扩展。
bool xrtPop3ClientLine( xpop3client* pClient, xstrview* pLine, xdeadline iDeadline, xcancel* pCancel );
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
| xstrview* pLine | 行 |
| xdeadline iDeadline | 截止时间 |
| xcancel* pCancel | 取消令牌 |
返回:读取一条不含 CRLF 的原始线路,用于 SASL continuation 等扩展。
示例已编译验证
/* 读取一条不含 CRLF 的原始线路,用于 SASL continuation 等扩展。 */ result = xrtPop3ClientLine(pClient, pLine, iDeadline, pCancel);
xrtPop3ClientReceive
读取并验证一条 +OK 或 -ERR 状态行。
bool xrtPop3ClientReceive( xpop3client* pClient, xpop3reply* pReply, xdeadline iDeadline, xcancel* pCancel );
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
| xpop3reply* pReply | 回复队列 |
| xdeadline iDeadline | 截止时间 |
| xcancel* pCancel | 取消令牌 |
返回:读取并验证一条 +OK 或 -ERR 状态行。
示例已编译验证
/* 读取并验证一条 +OK 或 -ERR 状态行。 */ result = xrtPop3ClientReceive(pClient, pReply, iDeadline, pCancel);
xrtPop3ClientCommand
构建并发送命令,然后读取状态行。
bool xrtPop3ClientCommand( xpop3client* pClient, xstrview Verb, xstrview Arguments, xpop3reply* pReply, xdeadline iDeadline, xcancel* pCancel );
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
| xstrview Verb | Verb 参数 |
| xstrview Arguments | 命令参数 |
| xpop3reply* pReply | 回复队列 |
| xdeadline iDeadline | 截止时间 |
| xcancel* pCancel | 取消令牌 |
返回:构建并发送命令,然后读取状态行。
示例已编译验证
/* 构建并发送命令,然后读取状态行。 */ result = xrtPop3ClientCommand(pClient, Verb, Arguments, pReply, iDeadline, pCancel);
xrtPop3ClientBegin
发送预期多行数据的命令;+OK 后进入 MULTILINE。
bool xrtPop3ClientBegin( xpop3client* pClient, xstrview Verb, xstrview Arguments, xdeadline iDeadline, xcancel* pCancel );
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
| xstrview Verb | Verb 参数 |
| xstrview Arguments | 命令参数 |
| xdeadline iDeadline | 截止时间 |
| xcancel* pCancel | 取消令牌 |
返回:发送预期多行数据的命令;+OK 后进入 MULTILINE。
示例已编译验证
/* 发送预期多行数据的命令;+OK 后进入 MULTILINE。 */ result = xrtPop3ClientBegin(pClient, Verb, Arguments, iDeadline, pCancel);
xrtPop3ClientNext
逐行去除 dot transparency;END 自动恢复命令前状态。
xmailnext xrtPop3ClientNext( xpop3client* pClient, xstrview* pLine, xdeadline iDeadline, xcancel* pCancel );
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
| xstrview* pLine | 行 |
| xdeadline iDeadline | 截止时间 |
| xcancel* pCancel | 取消令牌 |
返回:逐行去除 dot transparency;END 自动恢复命令前状态。
示例已编译验证
/* 逐行去除 dot transparency;END 自动恢复命令前状态。 */ result = xrtPop3ClientNext(pClient, pLine, iDeadline, pCancel);
xrtPop3ClientStat
查询邮箱消息数量和总字节数。
bool xrtPop3ClientStat( xpop3client* pClient, xpop3stat* pStat, xdeadline iDeadline, xcancel* pCancel );
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
| xpop3stat* pStat | Stat 参数 |
| xdeadline iDeadline | 截止时间 |
| xcancel* pCancel | 取消令牌 |
返回:查询邮箱消息数量和总字节数。
示例已编译验证
/* 查询邮箱消息数量和总字节数。 */ result = xrtPop3ClientStat(pClient, pStat, iDeadline, pCancel);
xrtPop3ClientList
查询一条消息的 LIST 大小。
bool xrtPop3ClientList( xpop3client* pClient, uint64 iMessage, xpop3listview* pItem, xdeadline iDeadline, xcancel* pCancel );
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
| uint64 iMessage | 消息文本 |
| xpop3listview* pItem | 元素 |
| xdeadline iDeadline | 截止时间 |
| xcancel* pCancel | 取消令牌 |
返回:查询一条消息的 LIST 大小。
示例已编译验证
/* 查询一条消息的 LIST 大小。 */ result = xrtPop3ClientList(pClient, iMessage, pItem, iDeadline, pCancel);
xrtPop3ClientListAll
开始流式读取全部 LIST 项。
bool xrtPop3ClientListAll( xpop3client* pClient, xdeadline iDeadline, xcancel* pCancel );
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
| xdeadline iDeadline | 截止时间 |
| xcancel* pCancel | 取消令牌 |
返回:开始流式读取全部 LIST 项。
示例已编译验证
/* 开始流式读取全部 LIST 项。 */ result = xrtPop3ClientListAll(pClient, iDeadline, pCancel);
xrtPop3ClientUidl
查询一条消息的 UIDL。
bool xrtPop3ClientUidl( xpop3client* pClient, uint64 iMessage, xpop3uidlview* pItem, xdeadline iDeadline, xcancel* pCancel );
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
| uint64 iMessage | 消息文本 |
| xpop3uidlview* pItem | 元素 |
| xdeadline iDeadline | 截止时间 |
| xcancel* pCancel | 取消令牌 |
返回:查询一条消息的 UIDL。
示例已编译验证
/* 查询一条消息的 UIDL。 */ result = xrtPop3ClientUidl(pClient, iMessage, pItem, iDeadline, pCancel);
xrtPop3ClientUidlAll
开始流式读取全部 UIDL 项。
bool xrtPop3ClientUidlAll( xpop3client* pClient, xdeadline iDeadline, xcancel* pCancel );
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
| xdeadline iDeadline | 截止时间 |
| xcancel* pCancel | 取消令牌 |
返回:开始流式读取全部 UIDL 项。
示例已编译验证
/* 开始流式读取全部 UIDL 项。 */ result = xrtPop3ClientUidlAll(pClient, iDeadline, pCancel);
xrtPop3ClientRetr
开始流式读取一封完整邮件。
bool xrtPop3ClientRetr( xpop3client* pClient, uint64 iMessage, xdeadline iDeadline, xcancel* pCancel );
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
| uint64 iMessage | 消息文本 |
| xdeadline iDeadline | 截止时间 |
| xcancel* pCancel | 取消令牌 |
返回:开始流式读取一封完整邮件。
示例已编译验证
/* 开始流式读取一封完整邮件。 */ result = xrtPop3ClientRetr(pClient, iMessage, iDeadline, pCancel);
xrtPop3ClientTop
开始流式读取邮件字段和指定数量的正文行。
bool xrtPop3ClientTop( xpop3client* pClient, uint64 iMessage, uint64 iLines, xdeadline iDeadline, xcancel* pCancel );
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
| uint64 iMessage | 消息文本 |
| uint64 iLines | Lnes 参数 |
| xdeadline iDeadline | 截止时间 |
| xcancel* pCancel | 取消令牌 |
返回:开始流式读取邮件字段和指定数量的正文行。
示例已编译验证
/* 开始流式读取邮件字段和指定数量的正文行。 */ result = xrtPop3ClientTop(pClient, iMessage, iLines, iDeadline, pCancel);
xrtPop3ClientDelete
标记一条消息在 UPDATE 阶段删除。
bool xrtPop3ClientDelete( xpop3client* pClient, uint64 iMessage, xdeadline iDeadline, xcancel* pCancel );
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
| uint64 iMessage | 消息文本 |
| xdeadline iDeadline | 截止时间 |
| xcancel* pCancel | 取消令牌 |
返回:标记一条消息在 UPDATE 阶段删除。
示例已编译验证
/* 标记一条消息在 UPDATE 阶段删除。 */ result = xrtPop3ClientDelete(pClient, iMessage, iDeadline, pCancel);
xrtPop3ClientReset
清除当前会话的删除标记。
bool xrtPop3ClientReset( xpop3client* pClient, xdeadline iDeadline, xcancel* pCancel );
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
| xdeadline iDeadline | 截止时间 |
| xcancel* pCancel | 取消令牌 |
返回:清除当前会话的删除标记。
示例已编译验证
/* 清除当前会话的删除标记。 */ result = xrtPop3ClientReset(pClient, iDeadline, pCancel);
xrtPop3ClientNoop
验证事务连接仍可交换命令。
bool xrtPop3ClientNoop( xpop3client* pClient, xdeadline iDeadline, xcancel* pCancel );
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
| xdeadline iDeadline | 截止时间 |
| xcancel* pCancel | 取消令牌 |
返回:验证事务连接仍可交换命令。
示例已编译验证
/* 验证事务连接仍可交换命令。 */ result = xrtPop3ClientNoop(pClient, iDeadline, pCancel);
xrtPop3ClientQuit
发送 QUIT,验证成功状态并认证关闭传输。
bool xrtPop3ClientQuit( xpop3client* pClient, xdeadline iDeadline, xcancel* pCancel );
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
| xdeadline iDeadline | 截止时间 |
| xcancel* pCancel | 取消令牌 |
返回:发送 QUIT,验证成功状态并认证关闭传输。
示例已编译验证
/* 发送 QUIT,验证成功状态并认证关闭传输。 */ result = xrtPop3ClientQuit(pClient, iDeadline, pCancel);
xrtPop3ClientClose
不发送 QUIT,直接正常关闭传输。
bool xrtPop3ClientClose( xpop3client* pClient, xdeadline iDeadline );
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
| xdeadline iDeadline | 截止时间 |
返回:不发送 QUIT,直接正常关闭传输。
示例已编译验证
/* 不发送 QUIT,直接正常关闭传输。 */ result = xrtPop3ClientClose(pClient, iDeadline);
xrtPop3ClientAbort
立即异常中止连接;重复调用成功,FAILED 状态保留到销毁。
bool xrtPop3ClientAbort(xpop3client* pClient);
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
返回:立即异常中止连接;重复调用成功,FAILED 状态保留到销毁。
示例已编译验证
/* 立即异常中止连接;重复调用成功,FAILED 状态保留到销毁。 */ result = xrtPop3ClientAbort(pClient);
xrtPop3ClientDestroy
释放客户端;尚未关闭时执行异常中止。
void xrtPop3ClientDestroy(xpop3client* pClient);
| 参数 | 说明 |
|---|---|
| xpop3client* pClient | 客户端对象 |
返回:释放客户端;尚未关闭时执行异常中止。
示例已编译验证
xrtPop3ClientDestroy(pClient);