我可以依赖 "Date: " 电子邮件 header 吗?

Can I rely on the "Date: " email header?

我有几个用 getmail 抓取的邮件目录(包括收件箱和已发送邮件),我想给 eml 文件名来代表每封邮件到达(或发送)的日期和时间:

johnsmith@example.org-inbox-2015-07-28T20.02.14+0000.eml

(我希望 Windows 读取文件,所以没有冒号)

我注意到在 eml 文件中只出现了一次 "Date: ":

Date: Tue, 28 Jul 2015 20:02:14 +0000

能不能靠header这一块来重命名文件?靠谱吗?

(我计划为此任务编写 posix 或 bash 脚本)

简答:没有

Date header(以及大多数其他 headers)由客户设置(并且不是必需的),因此它可以是任何东西或不存在。

垃圾邮件,因为 Date 字段是由 MUA(/MSA) 设置的,而且仍然有很多人没有与 NTP 同步或者不关心正确配置他们的工作站,所以更多比经常错。 我还经常看到错误配置的自动邮件程序或 MTA...

Received header 中找到的日期 稍微 更值得信赖,因为它是由实际 MTA 和 设置的概率配置好的更高

请注意,除了最后一个(出现顺序中的 top-most)是您的服务器(在您的情况下是 GMail)之外,它们也可以被伪造。