我工作的MVC .NET Web应用程序。我有一个数据库,其中有一个名为Tasks的表,每个任务都与一个用户关联,每个任务都有一个延迟。我想自动发送电子邮件向谁任务之前,其截止日期初二(例如)相关联的用户。发送电子邮件自动
Q
发送电子邮件自动
1
A
回答
1
您可以使用Windows服务来自动发送电子邮件。
请参考以下链接
您可以设置定时器2天,你的逻辑。
1
你可以写一个Windows服务应用程序,或者将其安排在使用Windows调度程序(例如每天一次)定期运行一个控制台应用程序,它会查询数据库,提取符合要求条件的记录和,是的,SmtpClient。
我之所以这样说,是因为这个任务不应该由你的web应用程序来完成。它应该由一个单独的应用程序执行。重复出现的后台任务(例如您需要执行的后台任务)是Web应用程序中的禁忌。该Haacked讨论为什么这是一个非常糟糕的主意:http://haacked.com/archive/2011/10/16/the-dangers-of-implementing-recurring-background-tasks-in-asp-net.aspx
0
小模拟了例如:
DateTime today = DateTime.Now;
TimeSpan diff = user.Tasks.ExpirationDate.Subtract(today);
int dateDiff = Convert.ToInt32(diff.TotalDays);
if (dateDiff == 2)
{
//Send Email
}
然后,您可以把这个在Services/Email
文件夹在你的MVC应用程序,并创建一个单独的控制台应用请求的页面日常生活,因此运行查询,如:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("YOUR PAGE");
string response = new System.IO.StreamReader(req.GetResponse()
.GetResponseStream()).ReadToEnd();
你会使用Windows Task Scheduler天天跑的控制台应用程序,这将启动控制台应用程序>控制台应用程序请求页>页检查到期日期的任务>发送电子邮件
0
您应该使用Windows Task Scheduler安排您的代码运行每隔几天
的相关问题
- 1. 自动发送电子邮件使用
- 2. 自动发送短信/电子邮件
- 3. 自动更改发送电子邮件
- 4. 发送自动电子邮件
- 5. 自动发送NSSharingService:电子邮件
- 6. 如何发送自动电子邮件?
- 7. 发送电子邮件自动
- 8. 自动发送电子邮件失败
- 9. 发送电子邮件自动在laravel
- 10. 自动发送电子邮件报告
- 11. PHP发送电子邮件多次发送电子邮件
- 12. Excel自动通过Outlook发送电子邮件随机发送
- 13. 当用户输入电子邮件地址时自动发送电子邮件
- 14. Android:电子邮件发送没有谷歌登录(自动发送邮件)
- 15. 在ASP.NET C#中自动引发事件发送电子邮件
- 16. 自动发送电子邮件到电报频道
- 17. 发送电子邮件处理跳动
- 18. 手动发送电子邮件的Rails
- 19. 电子邮件不发送
- 20. django发送电子邮件
- 21. SpringMVC发送电子邮件
- 22. aspx:发送电子邮件
- 23. 发送电子邮件从
- 24. 发送电子邮件
- 25. 发送电子邮件nodemailer
- 26. PHP发送电子邮件
- 27. 发送电子邮件
- 28. 发送电子邮件
- 29. SMTP:发送电子邮件
- 30. 发送电子邮件