我正在写一个IMAP客户端,我有一个问题。
获取发件人、发件人、收件人、抄送等-
我可以FETCH RFC822.HEADER,它会给我一个长字符串,有时不相关的信息,或者我可以FETCH ALL/FETCH ENVELOPE,它会为我提供我需要的主要信息的格式很好的版本,即日期、主题、发件人等。
获取电子邮件/附件-
我可以FETCH BODY.PEEK[],无论我是否想要,它都会为消息的每一部分提供一个MIME字符串(也不会像BODYSTRUCTURE那样以易读的解析格式提供MIME边界),或者我可以FETCH BODYSTRUCTURE/FETCH(BODY ENVELOPE),然后解析出我想要/需要的各个部分,而不必下载所有内容。
我的问题是,在电子邮件客户端中,使用rfc822标头或下载整个MIME字符串是否真的是必要的?看起来像是身体结构&信封让这件事变得容易多了,那么我有什么理由需要手动解析我的电子邮件客户端中的RFC822头/MIME消息吗?我应该能够用ENVELOPE&身体结构,对吗?
谢谢。
您可以使用BODYSTRUCTURE
、ENVELOPE
(以及BODY.PEEK[1]
等,当您需要获取车身部件时)。
您可能会发现,在1.0之前或之后的某个时刻,您可能会选择例如检索BODY.PEEK[HEADER.FIELDS (List-Id)]
或其他内容。但总的来说,你是对的,BODYSTRUCTURE
和ENVELOPE
就足够了。