【发布时间】:2015-08-21 23:52:26
【问题描述】:
如果我轮询 IMAP 服务器以获取信封结构 SELECT INBOX, FETCH UID ALL - 我将得到一个信封结构作为回报。
对于信封结构中的所有字段,如电子邮件地址、发件人、发件人、回复人等,我注意到这是电子邮件地址的表示方式:
(("Name on Email Account" NIL "emailaddress" "domain.com"))
或对于未设置电子邮件名称的帐户 -
((NIL NIL "emailaddressnoname" "domain.com"))
我可以看到第一个值是名称,第三个值是电子邮件地址名称,第四个值是域名 - 但是第二个值是什么?我对来自许多不同 IMAP 服务器的数百封电子邮件进行了轮询,这个值始终为 NIL,我担心有一天它不会是 NIL,它会弄乱我的解析代码。
在定义信封结构 (https://www.rfc-editor.org/rfc/rfc822) 的 RFC 部分中没有提及此内容。
有人知道怎么回事吗?
【问题讨论】:
-
你看过 IMAP rfc 的信封结构吗?
-
正如我在问题中明确提到的 - 是的,我做到了......
-
不,您说您查看的是 rfc2822,而不是 imap rfc。在 rfc3501 中的 fetch response 下对信封进行了清楚的解释。它表示它用于 smtp 源路由,在现代 Internet 上不使用,因此可以忽略。
-
您可能还想仔细阅读有关组语法的信息,这种语法很少见,但有时用于“unidentified-recipients: ;”的空组
-
你在浪费时间。 rfc3501 中也没有提到,第二个字段总是 NIL。