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

Gra*_*raf 9 email email-validation

我的软件正在使用来自唯一特定发件人的传入电子邮件(让它为SantaClaus@hetnet.nl).根据RFC-2616第14节"From"标题

可用于记录目的, 也可用于识别无效或不需要的请求的来源.

这正是我所需要的,所以我编写了一个代码,它忽略了"From"字段不相等的所有消息SantaClaus@hetnet.nl.它运作良好,但有一天事情发生了变化,现在圣诞老人的所有消息都包含一个不同的字符串在"发件人"字段中(确切地说<SantaClaus@hetnet.nl>).我已经修复了我的代码,但我只是想知道,这个标题合法吗?因为相同的RFC-2616第14节说:

地址应该是机器可用的,由RFC 1122 [9]中的"邮箱"定义,由RFC 1123 [8]更新:

   From   = "From" ":" mailbox
Run Code Online (Sandbox Code Playgroud)

一个例子是:

   From: webmaster@w3.org
Run Code Online (Sandbox Code Playgroud)

注意尖括号的缺席.但与此同时,我在Gmail帐户上收到的许多电子邮件在"发件人"字段中都是这样的:"Santa Claus" <santaclaus@hetnet.nl>

Dan*_*lau 19

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

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