# Rspamd 抱怨 Mime-Version 标头

**URL:** <https://meta.discourse.org/t/rspamd-complains-about-mime-version-header/205329>\
**Category:** Support\
**Created:** [2021年十月6日 07:21 UTC](https://meta.discourse.org/t/rspamd-complains-about-mime-version-header/205329 "2021-10-06T07:21:16Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kai\_Kretschmann](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/kai_kretschmann/32/235943_2.png) [@Kai\_Kretschmann](https://meta.discourse.org/u/Kai_Kretschmann)\
**Post date:** [2021年十月6日 07:21 UTC](https://meta.discourse.org/t/rspamd-complains-about-mime-version-header/205329/1 "2021-10-06T07:21:16Z")

</div>

我收到了由 Discourse 创建的电子邮件（包括这一封和我自己的邮件），其中包含以下邮件头：

> Mime-Version: 1.0

而 rspamd 因此给出了 0.5 分的负面垃圾邮件评分。☹

我认为该邮件头应写成如下形式：

> MIME-Version: 1.0

---

<div class="post-metadata">

**Author:** ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)\
**Post date:** [2021年十月6日 07:30 UTC](https://meta.discourse.org/t/rspamd-complains-about-mime-version-header/205329/2 "2021-10-06T07:30:02Z")

</div>

告诉他们他们是错的，他们应该修复他们的工具。

> **[RFC 5322: Internet Message Format](https://datatracker.ietf.org/doc/html/rfc5322#section-1.2.2%EF%BC%9A%EF%BC%88%E5%BC%BA%E8%B0%83%E4%B8%BA%E6%88%91%E6%89%80%E5%8A%A0%EF%BC%89)**
>
> This document specifies the Internet Message Format (IMF), a syntax for text messages that are sent between computer users, within the framework of "electronic mail" messages. This specification is a revision of Request For Comments (RFC) 2822, which...

> [1.2.2](https://datatracker.ietf.org/doc/html/rfc5322#section-1.2.2). 语法表示法 本规范使用增广巴科斯-诺尔范式（ABNF）[[RFC5234](https://datatracker.ietf.org/doc/html/rfc5234)] 表示法来形式化定义消息的语法。字符将通过十进制值（例如，%d65 表示大写字母 A，%d97 表示小写字母 a）或 **不区分大小写的字面值** （用引号括起来，例如，“A” 表示大写或小写的 A）来指定。

---

<div class="post-metadata">

**Author:** ![Kai\_Kretschmann](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/kai_kretschmann/32/235943_2.png) [@Kai\_Kretschmann](https://meta.discourse.org/u/Kai_Kretschmann)\
**Post date:** [2021年十月6日 07:33 UTC](https://meta.discourse.org/t/rspamd-complains-about-mime-version-header/205329/3 "2021-10-06T07:33:01Z")

</div>

我认为同样的规则也适用于标头 **Message-ID** ，其中 **ID** 字符也应为大写。否则，该标头也会得分较低。

即使他们（rspamd）因这一期望而可能违反标准，这也可能是合理的。如果更多正常邮件采用这种语法，而垃圾邮件大多采用另一种语法，那么以此方式进行过滤或许是可行的。

---

<div class="post-metadata">

**Author:** ![Kai\_Kretschmann](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/kai_kretschmann/32/235943_2.png) [@Kai\_Kretschmann](https://meta.discourse.org/u/Kai_Kretschmann)\
**Post date:** [2021年十月6日 07:45 UTC](https://meta.discourse.org/t/rspamd-complains-about-mime-version-header/205329/4 "2021-10-06T07:45:25Z")

</div>

刚在 rspamd 中添加了该问答：

> **[upper/lower-case filters for mime-version and message-id · rspamd/rspamd ·...](https://github.com/rspamd/rspamd/discussions/3923)**
>
> Even if it only gives 0.5 negative spam points, how valid is the decision to give Mime-Version and worse ranking than MIME-Version? And the same goes to Message-Id versus Message-ID. First question...

---

<div class="post-metadata">

**Author:** ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)\
**Post date:** [2021年十月6日 07:55 UTC](https://meta.discourse.org/t/rspamd-complains-about-mime-version-header/205329/5 "2021-10-06T07:55:49Z")

</div>

恕我直言，将“常用于垃圾邮件”作为负面评价依据是颠倒黑白的，因为这并未考虑该特性在“整体”中的普遍使用情况。

鉴于每个 Discourse 安装都使用了 `Mime` 和 `Id` 变体，显然它们在“正常邮件”中也同样被广泛使用。我很希望能看到相关数据。

当然，他们声称自己并非 RFC 验证器是正确的，但这自动意味着他们将自己置于一个_事实上的_替代标准制定机构的角色，这可能更糟糕。

---

<div class="post-metadata">

**Author:** ![Kai\_Kretschmann](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/kai_kretschmann/32/235943_2.png) [@Kai\_Kretschmann](https://meta.discourse.org/u/Kai_Kretschmann)\
**Post date:** [2021年十月6日 08:06 UTC](https://meta.discourse.org/t/rspamd-complains-about-mime-version-header/205329/6 "2021-10-06T08:06:15Z")

</div>

糟糕的是，我们作为这些实例的用户或管理员，夹在中间，无法判断谁是对的。

此外，始终可以区分“做得刚好正确”和“做得更出色”。我常有这样的经历：在与外部系统进行技术沟通时，必须保持灵活性。它们往往并非 100% 正确地实现，或者至少未按我所理解的标准方式实现。因此，在标准周围总会存在一些灰色的灵活空间。

---

<div class="post-metadata">

**Author:** ![Kai\_Kretschmann](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/kai_kretschmann/32/235943_2.png) [@Kai\_Kretschmann](https://meta.discourse.org/u/Kai_Kretschmann)\
**Post date:** [2021年十月7日 08:39 UTC](https://meta.discourse.org/t/rspamd-complains-about-mime-version-header/205329/7 "2021-10-07T08:39:25Z")

</div>

对我来说，看起来是较大的参与者在遵循这些规则编写这些标头：

- 如果是缩写，则全部使用大写字母
- 如果是单词，则首字母大写，其余小写

按照这种模式， **MIME** 和 **ID** 是合理的， **Message** 或 **Version** 也是如此。

这符合标准中关于不区分大小写的规定，它只是一个小小的提示，表明它比 RFC 更“标准化”。据我理解，在 Discourse 创建邮件时遵循同样的做法并无坏处。
