【问题标题】:IMAP Envelope email address format?IMAP 信封电子邮件地址格式?
【发布时间】: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。

标签: email imap


【解决方案1】:

来自RFC 3501, section 7.4.2 (Fetch Responses),信封小节:

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.

第二部分表示源路由,在 Internet 上已经过时,因此可以有效地忽略。

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

【讨论】:

  • 组语法在这种“特殊”情况下经常出现:“To: unknown-recipients:;”。不是每 100 条消息,也不是每千条消息,但通常足以让电子邮件软件很快遇到它。 (为所有变成唯一常见情况的特殊情况干杯!)
猜你喜欢
  • 1970-01-01
  • 2011-03-27
  • 1970-01-01
  • 2018-09-09
  • 1970-01-01
  • 2013-07-29
  • 1970-01-01
  • 2017-02-01
  • 2018-09-07
相关资源
最近更新 更多