给定格式的电子邮件地址
John Doe <john@example.com>
Run Code Online (Sandbox Code Playgroud)
我想知道这种格式是在哪里明确定义的以及整个事情被称为什么。在 rfc5322 中似乎没有指定(至少我没有找到)。那么鉴于上面的地址,如果你必须为它定义一个类,你会为下面的成员变量命名什么?
John Doe (姓名)john@example.com> (地址)John Doe <john@example.com> -> 你怎么称呼整个事情?Dav*_*ill 36
它被称为邮箱,如第 45 页的 RFC 5322 中所述:
3.4. 地址说明
地址出现在多个消息头字段中,以指示消息的发送者和接收者。地址可以是单个邮箱,也可以是一组邮箱。
通常,邮箱由两部分组成:(1) 一个可选的显示名称,表示可以向邮件应用程序的用户显示的收件人名称(可以是个人或系统),以及 (2)括在尖括号(“<”和“>”)中的 addr-spec 地址。还有一种邮箱的替代简单形式,其中 addr-spec 地址单独出现,没有收件人的姓名或尖括号。Internet addr-spec 地址在 3.4.1 节中描述。
来源3.4。地址说明
Nik*_*nov 25
它在RFC5322 中,您只是错过了它:
address = mailbox / group
mailbox = name-addr / addr-spec
name-addr = [display-name] angle-addr
angle-addr = [CFWS] "<" addr-spec ">" [CFWS] / obs-angle-addr
group = display-name ":" [group-list] ";" [CFWS]
display-name = phrase
mailbox-list = (mailbox *("," mailbox)) / obs-mbox-list
address-list = (address *("," address)) / obs-addr-list
group-list = mailbox-list / CFWS / obs-group-list
Run Code Online (Sandbox Code Playgroud)
让我们分解一下。
address一个mailbox或一个group。Amailbox是name-addr或addr-spec。
这name-addr是您要问的格式:有一个可选的display-name(它是可选的,因为它是用方括号定义的),然后是angle-addr,它本身是一个addr-spec尖括号,CFWS两侧有可选的可折叠空间(在第 3.2.2 节),或过时的地址格式obs-angle-addr。
整个3.4.1 节专门用于描述addr-spec格式。
所以,总结一下:
John Doe <john@example.com>是name-addr,是 的变体mailbox,是 的变体address。John Doe 是一个 display-name<john@example.com> 是一个 angle-addrjohn@example.com 是一个 addr-specjohn 是一个 local-partexample.com是一个domain。| 归档时间: |
|
| 查看次数: |
2193 次 |
| 最近记录: |