我有C#网络应用程序,我希望它在特定日期发送电子邮件,例如如果设备未在到期日返回。数据在MS SQL数据库中。
我已经完成了所有的电子邮件代码,我只是好奇如何触发这封电子邮件,比如在特定日期的COB之后?
谢谢,
埃里克
答案 0 :(得分:2)
您创建的应用程序会查询数据库,查找今天应发送的所有电子邮件并发送电子邮件。然后,您可以使用任务计划程序安排该应用程序每天运行。
答案 1 :(得分:2)
创建一个作为计划任务运行的小型控制台应用程序。
它会执行以下操作:
if
发送日期等于DateTime.Now
,然后发送电子邮件foreach
电子邮件<强>更新强>
你提到你想用触发器来做这件事。我以前从未这样做过,但已经调查过了。我采用了控制台应用程序方法。我更喜欢这个。但 here 是我在触发器方法上找到的链接。
答案 2 :(得分:0)
Quartz scheduler是一个不错的免费c#开源选项。 关注链接: http://quartznet.sourceforge.net/
答案 3 :(得分:0)
如果没有您可以观察到的数据库中的某些信息更改,您将最终使用计划任务,服务或数据库作业执行此操作。
我甚至不打算使用C#,因为SQL服务器具有发送电子邮件的能力。只需在SQL服务器中设置一个作业,该服务在业务结束后每天运行,创建未发送邮件的游标,并使用本机能力发送它们在SQL服务器中。