【问题标题】:How to implement bulk mailing using windows service on a schedule basis?如何按计划使用 Windows 服务实现批量邮寄?
【发布时间】:2011-08-03 13:44:15
【问题描述】:

我有一个要求,我需要每季度发送 10000 多封邮件。为此,我使用了一个每天触发的 Windows 服务,并且仅在第三个月后才执行邮件功能。 我要从数据库中获取最近三个月的记录,并且需要为每条记录发送一封邮件

我遇到的问题是我使用的邮件服务器不允许批量邮寄。

如何通过在每次发送之间设置延迟(每分钟 20 封邮件)来有效地做到这一点?

【问题讨论】:

    标签: asp.net windows-services bulk-mail


    【解决方案1】:

    有很多方法可以存档。我们曾经有一个类似的需求,并通过一个本地服务解决了这个问题,该服务将从一个特殊的数据库表(邮件队列)中获取项目并单独发送每封邮件。队列随着时间的推移被常规业务逻辑填充。必要的锁定也可以通过 db 完成:SCHEDULE 列存储发送邮件的预期预定时间。这样,服务只收集那些“准备好”发送的邮件。发送成功后,使用另一列(SENT_TIMESTAMP)来标记成功。

    我们在 ASP 中实现了整个服务,并通过常规的 Windows 任务规划器作业触发了它。在您的情况下,该服务将每分钟启动一次,队列将提供接下来的 20 封邮件。一种更简单的方法是利用 SQL Server Jobs。 SQL Server 也能够将邮件传递到本地 SMTP 服务器。

    如果还没有完成,请注意这个问题:What is the best way to send large batches of emails in ASP.NET?

    【讨论】:

      猜你喜欢
      • 2011-10-25
      • 1970-01-01
      • 2019-10-07
      • 2011-09-28
      • 2020-06-04
      • 1970-01-01
      • 2011-02-18
      • 2016-02-10
      相关资源
      最近更新 更多