当前位置: 首页 > 面试题库 >

如何在.NET / Sql Server中在用户本地时间发送电子邮件?

鲜于凯歌
2023-03-14
问题内容

我正在编写一个程序,该程序需要每小时每小时发送一次电子邮件,但该时间对于用户而言是本地的。

假设我有2个用户位于不同的时区。约翰在纽约,弗雷德在洛杉矶。服务器在芝加哥。如果我想在本地用户下午6点发送电子邮件,则必须在服务器时间晚上7点发送给John,在服务器时间下午4点发送给Fred。

在.NET / Sql Server中,有什么好的方法?我已经找到了包含所有时区信息的xml文件,因此我正在考虑编写脚本以将其导入数据库,然后对其进行查询。

编辑: 我使用了“沨4znet.dll”,并在.NET端进行了所有比较。


问题答案:

您有两种选择:

  • 将调整后的邮件操作时间存储到每个用户的数据库中。然后,只需将服务器时间与存储的时间进行比较即可。为避免混淆和可移植性问题,我将所有时间都存储在UTC中。因此,在SERVER_UTC_TIME()== storedUtcTime时发送邮件。
  • 将每个邮件操作的本地时间存储到数据库中,然后即时进行转换。当SERVER_UTC_TIME()== TO_UTC_TIME(storedLocalTime,userTimeZone)时发送邮件。

您应该决定什么对您的应用程序最有意义。例如,如果所有用户的邮寄时间始终相同,则选择选项(2)会更有意义。如果事件时间可以在用户之间甚至每个用户之间变化,那么如果您选择选项(1),则可以使开发和调试更加容易。无论哪种方式,您都需要知道用户的时区。

*这些函数调用显然是伪的,因为我不知道它们在T-SQL中的调用,但是它们应该存在。



 类似资料:
  • 伙计们,我在问我如何能发送验证到用户的邮件,换句话说,所有我在谷歌和youtube找到的东西,如何发送到你的电子邮件主机作为邮件陷阱等等。但是没有人解释如何使用用户的电子邮件。您对RQ有想法吗:我正在使用Laravel8和Laravel/UI引导程序

  • 我无法发送电子邮件从本地主机使用php脚本这是我的代码 ?> php.ini文件... “邮件功能” ;仅适用于Win32。 请帮助我解决我的问题。

  • 我们研发的App可以在用户确认访问我们的分支机构后向其发送电子邮件。当我们使用以下Gmail配置时,它可以正常工作:电子邮件:ainetwgdocs@gmail.comPasswd:XXXXX SMTP服务器:smtp.gmail.com端口:587但是,当我们尝试使用基于域的帐户时,它根本不起作用。我们使用以下参数:电子邮件:contact@ainetw.comPasswd:XXXXX SMTP

  • 问题内容: 我最近开始编程我的第一个node.js。但是,我发现我无法创建直接发送到我的电子邮件的“联系我”表单,因为我无法从能够发送电子邮件的节点中找到任何模块。 有人知道node.js电子邮件库或示例联系表单脚本吗? 问题答案: node-email-templates是一个更好的选择:https : //github.com/niftylettuce/node-email- template