0

我想知道计划消息、电子邮件和其他内容的最佳方式是什么。例如,如果我的 Web 应用程序中列出了约会,我希望应用程序在约会之前和约会时向用户发送电子邮件。由于用户池很大,一次可以发送 1000 封电子邮件。

请建议实现这一目标的最佳方法是什么,以及是否有服务(付费/免费第三方)可以在其中发布我的预定任务并且它应该可以完成工作。

谢谢

4

1 回答 1

0

我不知道有任何服务可以“在外面”执行此操作,但如果您正在开发它,最好的方法是创建一个在计时器上运行的 Windows 服务,比如每 10 分钟左右运行一次。

它将在接下来的 15 分钟或 30 分钟内通过 SQL 查询从数据库约会中读取。返回数据后,您可能会为这些记录中的每一个创建一个计时器,然后通过该约会的计时器滴答事件将其设置为在正确的时间触发。一旦计时器计时,您只需在线程池上发送电子邮件,以避免在发送一批电子邮件时主线程被阻塞/阻塞,并使您的服务更具响应性。

您不能在 ASP.NET 中执行此“自动化”,而 Windows 服务正是为此目的,您有固定的时间间隔来执行任务 - 在这种情况下,获取一段时间内的约会/时间表列表,然后发送电子邮件。

发送电子邮件后,您需要更新该记录,以确保它不会在下一个计时器事件中再次被拾取,以避免发送重复的电子邮件 - 在数据库中的记录字段中设置了诸如“SentReminder”之类的标志。

这是如何做到这一点,是最好的方法。

于 2013-11-15T07:04:38.697 回答