如何在邮件中发送收件人本地时间

How to send the recepients local time in mails ?

本文关键字:收件人 时间      更新时间:2023-09-26

我必须在电子邮件正文中发送收件人的本地时间。我的电子邮件正文是 html 内容。并通过我的 c# 代码在 html 正文中传递一些变量,如日期等。是否有任何我可以传递的日期时间格式将由邮箱自动转换为本地时间,或者我可以在 html/javascript 中执行的操作,它将在收到邮件时将时间动态转换为接收者的本地时间?

谢谢

简短的回答是否定的,对不起。您需要将每个用户的时区存储在数据库中的某个位置,然后 C# 代码将提供一定小时数的时间偏移量,例如:

<%=MyDate.AddHours(Subscriber.TimeZoneOffset)%>

至于你在电子邮件正文中执行JavaScript的想法:不会发生!

作为一个懒惰的人,我可能会在我的电子邮件中满足于所有时间的资格,例如格林威治标准时间/欧洲中部时间/太平洋标准时间 09:00。我意识到这可能不适用于所有用例,尽管;)

JavaScript 在

发送的电子邮件中是不行的,因为出于安全原因,它不会在客户端上执行。因此,发送时必须将时间添加到邮件中。

您的数据库中是否有用户的时区、邮政编码或国家/地区短代码?或者,用户在发送电子邮件时是否登录?在这种情况下,您可以使用该数据在服务器上进行数学运算。

如果您事先没有保留他们的时区信息,则无法绝对转换为他们的当地时间。