Section 3.6.2 of RFC 5322将回复标头定义为:
reply-to = "Reply-To:" address-list CRLF
地址列表在section 3.4定义。在展开ABNF语法时,我发现地址列表除了phrase ":" ";"
(section 3.2.5定义短语)之外什么都不包含。因此,归结为您可以添加回复标头,该标头不包含任何实际的电子邮件地址。
RFC声明:
当存在“回复:”字段时,它表示消息作者建议发送回复的地址。
即使这只是一个建议,我似乎可以建议有人回复我所说的但未指明的地址。
我在这里遗漏了什么吗?我该如何解释这样的结构?
答案 0 :(得分:1)
您似乎在规范中发现了疏忽。尼斯!
如果您阅读Section 3.4的其余部分,您会发现这一点(强调我的):
什么时候需要治疗几种 邮箱作为一个单元(即在一个单元中) 分发名单),小组 可以使用构造。群组 构造允许发送者 表示一组已命名的收件人。 这是通过给出显示名称来完成的 对于小组,然后是冒号, 然后是逗号分隔的列表 任意数量的邮箱(包括 零和一),以一个结尾 分号。 因为列表 邮箱可以为空,使用 组构造也是一种简单的方法 与收件人沟通 消息已发送给一个或多个已命名的消息 收件人的集合,实际上没有 提供个人邮箱 任何这些收件人的地址。
这在(例如)To或CC的上下文中是有意义的,但不是(例如)From或Reply-To。他们通过将其指定为邮箱列表来获得“发件人”的权利,但他们似乎已经将其用于回复。
看起来他们应该回复邮箱列表而不是地址列表。可能值得联系IETF工作组来指出错误。
[更新]
我已针对此问题提交了针对RFC 5322的错误消息:
http://www.rfc-editor.org/errata_search.php?eid=2816
让我们看看他们用它做了什么。