px普贤教程PuXian
普贤教程 › 包参考

imap 包

IMAP4rev1 客户端

编译(px build)与解释(px run)双模式一致。

项值
包名imap
版本0.2.0
可用版本0.1.0 / 0.2.0
入口imap.px
分类网络与协议
文件数 / 行数1 / 243

安装与引入

bash
pxpkg init          # 首次
pxpkg add imap@0.2.0
pxpkg install
px
import imap
所属分类教程:网络与协议

公开接口

函数参数
imap_connecthost, port, timeout_ms
imap_loginconn, user, pass
imap_listconn
imap_selectconn, mailbox
imap_examineconn, mailbox
imap_fetchconn, seq, items
imap_searchconn, criteria
imap_createconn, mailbox
imap_deleteconn, mailbox
imap_renameconn, old, new
imap_copyconn, seq, mailbox
imap_storeconn, seq, flags
imap_closeconn
imap_noopconn
imap_logoutconn
其余 6 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
o_rd_u8bb, off
o_read_linefd
o_send_lineconn, line
o_tag
o_cmdconn, line
o_literal_lenline

包内说明(源码头注释)

text
============================================================
普贤生态库:registry/imap —— IMAP4rev1 客户端
------------------------------------------------------------
编译(px build)与解释(px run)双模式一致。
对照 Go go-imap / Python imaplib 心智:
imap_connect(host, port[, timeout_ms]) → Ok(conn) | Err
imap_login(conn, user, pass)           → Ok(true) | Err
imap_list(conn)                        → Ok([mailbox...])
imap_select(conn, mailbox)             → Ok({exists, recent})
imap_examine(conn, mailbox)            → Ok({exists, recent})(只读)
imap_fetch(conn, seq, items)           → Ok([body...])
imap_search(conn, criteria)            → Ok([seq...])
imap_create(conn, mailbox)             → Ok(true)
imap_delete(conn, mailbox)             → Ok(true)
imap_rename(conn, old, new)            → Ok(true)
imap_copy(conn, seq, mailbox)          → Ok(true)
imap_store(conn, seq, flags)           → Ok(true)(设置标记如 +FLAGS (\Seen))
imap_close(conn)                       → Ok(null)(expunge + deselect)
imap_noop(conn)                        → Ok(true)
imap_logout(conn)                      → Ok(null)
协议:tag = "A<序号>",行尾 CRLF;响应逐行读,FETCH literal {N} 读 N 字节;
终止行 tag OK/NO/BAD 判定成败。
============================================================