有时我在电子邮件的“发件人”字段中获得尖括号是否正确?

时间:2010-12-17 18:49:37

标签: email email-validation

我的软件正在处理来自唯一特定发件人的传入电子邮件(让它为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>

1 个答案:

答案 0 :(得分:19)

RFC-822允许通过纯电子邮件样式的地址指定电子邮件地址,称为“ addr-spec ”(例如name@host.domain);或者使用带有尖括号(Foo Bar <foobar@host.domain>)的电子邮件样式地址(“ addr-spec ”)的昵称(“短语”)。你的发件人已经从第一种格式转变为第二种格式,尽管这里的昵称部分似乎是空的。

顺便说一句,RFC-2616用于HTTP;你正在研究HTTP协议中可选的和(我想象的)很少使用的From:头的定义。这似乎与电子邮件格式没有任何直接关系。