电子邮件可以包含多个具有相同标题名称的标题行(即相同的键)。例如:
Received: from x ...
Received: from y ...
我正在使用Python的mailbox
库。如果电子邮件包含多个具有相同名称的标题行,mailbox
的{{1}}和keys()
方法的语义是什么?
对于上面的示例,返回的列表是否包含两个items()
行的两个条目,或者只包含一个条目(因为它们具有相同的名称)?它们是否保证与原始电子邮件中的顺序相同?
为了进行比较,明确记录了Received
的语义:如果有多个名称为__getitem__(h)
的标头,则返回哪个标头的值是未定义的。同样,h
和__setitem__()
的语义已完全定义。但是,__delitem__()
和keys()
的文档没有说明保证什么或不保证。