2015-06-07 27 views
1

如果我为信封结构轮询IMAP服务器SELECT INBOX, FETCH UID ALL - 我将得到一个信封结构作为回报。IMAP信封电子邮件地址格式?

对于围护结构是一个电子邮件地址,来自发件人的所有领域,答复等,我已经注意到这是一个电子邮件地址是如何表示的:

(("Name on Email Account" NIL "emailaddress" "domain.com")) 

或与账户没有电子邮件名称集 -

((NIL NIL "emailaddressnoname" "domain.com")) 

我可以看到第一个值是名称,第三值是电子邮件地址名称&第四值是域名 - 但什么是第二个值?我已经从许多不同的IMAP服务器上查询了数百封电子邮件,并且这个值总是为零。我恐怕有一天它不会是NIL,并且会破坏我的解析代码。

在定义Envelope结构的RFC部分(https://tools.ietf.org/html/rfc822)中没有提到这方面的内容。

有人知道发生了什么事吗?

+0

你看过IMAP rfc的信封结构吗? – Max

+0

正如我明确提到的问题 - 是的,我做了... – imap239429

+0

不,你说你看着rfc2822,而不是imap rfc。在rfc3501中,在获取响应下对信封进行了解释。它表示它是用于smtp源路由,它们在现代互联网上没有使用,因此可以忽略。 – Max

回答

5

RFC 3501, section 7.4.2 (Fetch Responses),第ENVELOPE:

An address structure is a parenthesized list that describes an 
electronic mail address. The fields of an address structure 
are in the following order: personal name, [SMTP] 
at-domain-list (source route), mailbox name, and host name. 

第二部分表示源路由,这是过时的互联网上,从而可以有效地忽略。

还有关于组列表语法的信息,这些信息也几乎已过时,但偶尔您可能会遇到。

+0

在这个“特殊”情况下,语法组经常会出现:“To:unknown-recipients :;”。不是每一百条消息,或者每千分之一,但往往足够的电子邮件软件很快就会遇到它。 (为所有已成为唯一常见病例的特殊病例敬酒!) – arnt

相关问题