我的软件正在处理来自唯一特定发件人的传入电子邮件(让它为SantaClaus@hetnet.nl)。根据RFC-2616第14节“从”标题
可用于记录目的和 作为识别无效或不需要来源的手段 请求。
这正是我所需要的,所以我编写了一个代码,忽略了“From”字段不等于SantaClaus@hetnet.nl
的所有消息。它工作得很好,但有一天事情发生了变化,现在圣诞老人的所有消息在“From”字段中都包含一个不同的字符串(正好是<SantaClaus@hetnet.nl>
)。
我已经修复了我的代码,但我只是想知道,这个标题合法吗?因为相同的RFC-2616第14节说:
地址应该是机器可用的, 由RFC 822中的“邮箱”定义[9] 由RFC 1123 [8]更新:
From = "From" ":" mailbox
一个例子是:
From: webmaster@w3.org
注意尖括号的缺席。但与此同时,我在Gmail帐户上收到的许多电子邮件在“发件人”字段中都有类似内容:"Santa Claus" <santaclaus@hetnet.nl>
答案 0 :(得分:19)
RFC-822允许通过纯电子邮件样式的地址指定电子邮件地址,称为“ addr-spec ”(例如name@host.domain
);或者使用带有尖括号(Foo Bar <foobar@host.domain>
)的电子邮件样式地址(“ addr-spec ”)的昵称(“短语”)。你的发件人已经从第一种格式转变为第二种格式,尽管这里的昵称部分似乎是空的。
顺便说一句,RFC-2616用于HTTP;你正在研究HTTP协议中可选的和(我想象的)很少使用的From:头的定义。这似乎与电子邮件格式没有任何直接关系。