xrtImapClientBodyWrite

流式读取一封消息的 BODY section;空 Section 表示完整 RFC 消息。

bool xrtImapClientBodyWrite( ximapclient* pClient, uint32 iMessage, xstrview Section, bool bUid, bool bPeek, size_t iMaxBytes, xmailwriteproc pWrite, ptr pUserData, size_t* pWritten, xdeadline iDeadline, xcancel* pCancel );
参数说明
ximapclient* pClient客户端对象
uint32 iMessage消息文本
xstrview SectionSecton 参数
bool bUidbUd 参数
bool bPeekbPeek 参数
size_t iMaxBytes最大字节数
xmailwriteproc pWrite写入回调
ptr pUserData透传用户数据
size_t* pWritten出:已写字节数
xdeadline iDeadline截止时间
xcancel* pCancel取消令牌
返回:流式读取一封消息的 BODY section;空 Section 表示完整 RFC 消息。

示例已编译验证

/* 流式读取一封消息的 BODY section;空 Section 表示完整 RFC 消息。 */
result = xrtImapClientBodyWrite(pClient, iMessage, Section, bUid, bPeek, iMaxBytes, pWrite, pUserData, pWritten, iDeadline, pCancel);

xrtImapClientBodyBytes

读取 BODY section 并返回由 xrtFree 释放、末尾附零的连续字节。

bytes xrtImapClientBodyBytes( ximapclient* pClient, uint32 iMessage, xstrview Section, bool bUid, bool bPeek, size_t iMaxBytes, size_t* pOutputSize, xdeadline iDeadline, xcancel* pCancel );
参数说明
ximapclient* pClient客户端对象
uint32 iMessage消息文本
xstrview SectionSecton 参数
bool bUidbUd 参数
bool bPeekbPeek 参数
size_t iMaxBytes最大字节数
size_t* pOutputSize出:输出长度
xdeadline iDeadline截止时间
xcancel* pCancel取消令牌
返回:读取 BODY section 并返回由 xrtFree 释放、末尾附零的连续字节。

示例已编译验证

/* 读取 BODY section 并返回由 xrtFree 释放、末尾附零的连续字节。 */
result = xrtImapClientBodyBytes(pClient, iMessage, Section, bUid, bPeek, iMaxBytes, pOutputSize, iDeadline, pCancel);

xrtImapClientMessageTree

读取完整 BODY[] 并按 MIME 树预算解析;成功结果不依赖网络缓冲。

bool xrtImapClientMessageTree( ximapclient* pClient, uint32 iMessage, bool bUid, bool bPeek, const xmailtreelimits* pLimits, xmailtree* pTree, xdeadline iDeadline, xcancel* pCancel );
参数说明
ximapclient* pClient客户端对象
uint32 iMessage消息文本
bool bUidbUd 参数
bool bPeekbPeek 参数
const xmailtreelimits* pLimitsLmts 参数
xmailtree* pTree树对象
xdeadline iDeadline截止时间
xcancel* pCancel取消令牌
返回:读取完整 BODY[] 并按 MIME 树预算解析;成功结果不依赖网络缓冲。

示例已编译验证

/* 读取完整 BODY[] 并按 MIME 树预算解析;成功结果不依赖网络缓冲。 */
result = xrtImapClientMessageTree(pClient, iMessage, bUid, bPeek, pLimits, pTree, iDeadline, pCancel);