gpt4 book ai didi

IMAP附件检索命令

转载 作者:行者123 更新时间:2023-12-04 02:46:53 25 4
gpt4 key购买 nike

我正在使用 IMAP 处理邮件客户端,并且正在寻找用于接收邮件附件的命令。

最佳答案

使用 FETCH command 检索所有消息信息.但是,关于如何使用它,您有两种选择。

首先,您可以逐字检索整个电子邮件。在这种情况下,您将需要在客户端中包含一个 MIME 解析器来确定消息的结构。 (每个平台至少有一个或两个流行的 MIME 解析器;因为你没有告诉我们你在编码什么,我不能为你推荐一个。)一旦你从你的 MIME 解析器获得消息结构,你'需要一些客户端逻辑来确定哪些部分是附件。值得一看RFC 2183让你开始。一般来说,带有 Content-Disposition 的零件以“attachment”开头的将是附件,但所有邮件客户端作者都经过反复试验才能正确使用。为了下载整个电子邮件,您需要发出 IMAP 命令

$ UID FETCH <uid> BODY.PEEK[]

其次,您可以通过发出 FETCH BODYSTRUCTURE 让 IMAP 服务器为您解析消息结构。 (注意:没有方括号)。您必须自己解析返回的 BODYSTRUCTURE 数据; IMAP RFC explains the format并举了几个例子。
# message, no attachments:
("TEXT" "PLAIN" ("CHARSET" "ISO-8859-1" "FORMAT" "flowed") NIL NIL "7BIT" 1469 50 NIL NIL NIL NIL)

# message, one attachment
(("TEXT" "PLAIN" ("CHARSET" "US-ASCII") NIL NIL "QUOTED-PRINTABLE" 56 1 NIL NIL NIL NIL)("AUDIO" "X-WAV" ("NAME" "voicemail.wav") NIL NIL "BASE64" 152364 NIL ("attachment" ("FILENAME" "voicemail.wav")) NIL NIL) "MIXED" ("BOUNDARY" "----_=_NextPart_001_01C4ACB3.5AA7B8E2") NIL NIL NIL)

一旦确定了您对哪些部分感兴趣,您就可以发出 FETCH对于可显示的消息正文。然后,您的客户端可以只列出消息附件(从 BODY 响应中解析出来),然后可以返回 FETCH如果用户点击它们。因此,您将发出的 IMAP 命令将遵循以下内容:
$ UID FETCH <uid> (BODY ENVELOPE)   # get structure and header info
$ UID FETCH <uid> (BODY[1]) # retrieving displayable body
$ UID FETCH <uid> (BODY[2]) # retrieving attachment on demand

关于IMAP附件检索命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4745572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com