gpt4 book ai didi

c# - 如何确定在 C# 中发送电子邮件的时区

转载 作者:行者123 更新时间:2023-11-30 14:42:55 27 4
gpt4 key购买 nike

谁能推荐一种方法来确定在 C# 中发送电子邮件的时区?

查看电子邮件的 header 信息包括如下信息:

Received: from mail-ew0-f211.google.com (123.85.219.211) by UKExchange
(10.1.10.99) with Microsoft SMTP Server id 1.2.345.6; Tue, 13 Apr 2010
14:26:24 +0100
Received: by ewy3 with SMTP id 3so288857ewy.6 for
<john.sibly@mycompany.com>; Tue, 13 Apr 2010 06:26:23 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.103.213.2 with HTTP; Tue, 13 Apr 2010 06:26:23 -0700 (PDT)
X-Originating-IP: [83.244.243.210]
Date: Tue, 13 Apr 2010 14:26:23 +0100
Received: by 10.103.3.17 with SMTP id f17mr3087878mui.123.1271165183473; Tue,
13 Apr 2010 06:26:23 -0700 (PDT)

有许多“Received: from”和“Received: by”键,最后标明了日期、时间和时区。

我应该尝试解析其中的哪一个?这是确定发件人时区的可靠方法,还是有人推荐更好的方法?

最佳答案

各种“已接收”条目是每个连续服务器以相反顺序接收电子邮件的时间(即最后一个接收邮件的服务器位于堆栈顶部)。但是,这不是消息发送的日期,而是服务器收到消息的日期。

消息的撰写日期由“日期” header 指示,该 header 应该是唯一的。

因此,根据您要执行的具体操作,您应该使用最后一个“已接收” header (根据第一个 SMTP 服务器,该 header 应该是发送邮件的日期)或“日期” header (这应该是用户按下“新邮件”或“回复”按钮的时间,并包含客户端的时区 - 假设您正在处理一个真正的客户端而不是网络邮件)。

如果您正在处理网络邮件,那么时区的内容实际上可以是任何东西,从真正的原始用户 TZ 到网络服务器设置的任何默认值。

关于c# - 如何确定在 C# 中发送电子邮件的时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2630194/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com