我正在用 Python 编写一个基于 Web 的电子邮件客户端,并且出现了一个问题,即发送时应将电子邮件的“日期”标头表示为哪个时区。
RFC 2822在第 3.3 节中指出:
日期和时间应该表示当地时间。
这对我来说似乎模棱两可;问题是谁的当地时间?电子邮件服务器还是发件人?自然我会假设发件人(他可以在任何时区,并且可以在他们的帐户偏好中更改)。当我查看 Python 的email.utils.formatdate函数时,出现了进一步的混乱,该函数似乎只提供了两种选择:UTC 或本地时间(服务器的)。对我来说,似乎没有任何选项可以指定备用时区,还是我错过了什么?
使用 UTC 日期字符串将 timeval 传递给 formatdate time.mktime(senders_tz_aware_now_datetime.timetuple())
,考虑到 RFC 上面所说的内容,这感觉是错误的。
那么“日期”应该是哪个时区,是否存在任何标准函数来创建适当的日期字符串?