0

我试图找出我可以在电子邮件解析库中拥有哪些通用子例程。

我知道两个经常带参数的 MIME 字段:

Content-Type: application/x-stuff;
 title*=us-ascii'en-us'This%20is%20%2A%2A%2Afun%2A%2A%2A

(来自https://www.rfc-editor.org/rfc/rfc2231的示例)

Content-Disposition: attachment; filename=genome.jpeg;
 modification-date="Wed, 12 Feb 1997 16:29:51 -0500";

(来自https://www.rfc-editor.org/rfc/rfc2183的示例)

它们是唯一的吗?还是这是一种通用机制? https://www.rfc-editor.org/rfc/rfc822只讨论“结构化”字段 - 上面的字段肯定是“结构化”,但 rfc822 中的示例是关于地址字段 - 这是一个不同的结构 -地址列表

4

2 回答 2

1

Received: 标头通常是结构化的,尽管规范相当模糊,并且没有认真的标准化工作。最接近事实标准的是 Sendmail,Postfix 或多或少地模仿了它。DKIM 签名以相当巧妙的方式结构化。SpamAssassin 插入的 ad hoc 标头具有结构;它告诉您为什么邮件被归类为垃圾邮件。还有更多,但这应该给你一些开始咀嚼的东西。此处的示例均未使用 Mime Content-xxx 语法。

于 2011-09-08T12:02:25.290 回答
1

据我所知,电子邮件中还有两个 MIME 字段:

MIME-Version: 1.0

它没有参数,并且

Content-Transfer-Encoding: ...

也没有。

没有通用的“MIME 头域参数规则”,只需查找每个头域的标准定义即可。

(编辑:)在您添加到原始问题之后,您当然可以使用通用子例程。请注意,电子邮件标头解析是一项非常重要的任务(参见 RFC 2822)。这些通用子程序进入我的脑海:

  • 删除标题字段中的注释(用括号表示)。
  • 处理制表符缩进线(续行)
  • 解析 RFC822 日期/时间(巨大的任务:)
  • 处理报价
  • 解析电子邮件地址(不同形式)
  • 处理字符编码(MIME 标头编码)

然而,这一切当然存在于许多开源库中。

于 2011-09-08T11:28:46.763 回答