2015-06-07 28 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

相關問題