从购买之日起12个月后向客户发送通知电子邮件的最简单方法是什么?
我们的Web服务器运行连接到SQL Server的ASP.NET MVC 3网站。目前,我们每周一手动运行一个网页,通知过期的用户。
以下是我到目前为止所考虑的选项:
我错过了一些更容易的东西吗?
感谢。
答案 0 :(得分:0)
我以前的公司遇到过同样的问题。最后我们去了Task Scheduler。主要原因是任务计划程序是处理Windows中重复性任务的标准机制,因此将来比其他选项更易于维护。
我们的控制台应用程序每天都由Task Scheduler运行,它被设计为“智能”。我的意思是聪明。
内部代码类似于
Linq to get all the users that deserved an email
For each user
Send the email, mark it as sent in DB and close transaction
If email fails Write to log.
Next
Write log with stats
这种方式比较慢但更安全。如果它必须向4000个用户发送电子邮件而在用户1337中失败,那么我们会记录发生的事情并在下次执行时从1338恢复。
在一个文件夹中的系统日志中,我们通常每天都有一个条目,例如:
电子邮件流程由Scheduler在02:00开始。发送了4000封电子邮件,0封失败。
如果出现问题:
电子邮件流程由Scheduler在02:00开始。发送了3999封电子邮件,1封失败。 向用户xxxxx发送电子邮件失败。原因:电子邮件地址“joeBlogs @@ gmail.com”不正确。