电子邮件date错误/缺失

在最终用户查看电子邮件date的典型电子邮件设置中,是由发送服务器还是接收服务器提供的?

每过一段时间,我都会抱怨从我们的服务器发出的电子邮件的date是错误的(通常是1900或1969,表明它只显示默认date)。 我们系统中的所有date都是正确的,而且绝对不会一直发生。 我一直认为问题在于接收端。

任何人都可以点亮什么会导致这种情况发生?

在典型的电子邮件设置中, Date:标题由发送消息的邮件客户端设置:这是组成电子邮件的机器上的date。 如果缺lessDate标题,可能会被服务器添加(如果缺失的话,我认为服务器可能假设没有date的邮件时代)。

Received:标题总是由邮件通过的每个服务器添加 – validationdate以certificate您的服务器具有正确的date/时间。

我认为@ vorateq7已经find了答案,但是在相关说明中,我记下了为什么date显示为1969年,如果没有date标题 。 简短的回答:默认是1970年1月1日,但是因为那是UTC,所以在1969年以后使用的是UTC。

从技术上说, 发送邮件的始发邮件客户端的责任是确保创build适当的Date:标头。 如果邮件服务器发送的邮件中包含邮件头,而其他邮件则不包含这些邮件,这是因为它们是由不同的客户端发起的,而另一个邮件服务器则不包含Date:标头。

示例:在网站上有一个联系表单,它使用PHP通过SMTP连接到您的MTA来发送消息。 如果它不包含Date:标头,那么你的MTA可能不会添加它(例如,qmail不修复它正在中继的破坏的头文件,因为它鼓励发送破坏的消息的做法,并为垃圾邮件发送者带来潜在的安全漏洞。 )。

检查消息的来源,哪些是离开Date:标题closures。 显然,许多微软邮件应用程序也已经知道要做到这一点。