我工作的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. 發送電子郵件自動在laravel
- 4. 自動發送電子郵件使用
- 5. 自動更改發送電子郵件
- 6. 自動發送電子郵件報告
- 7. 發送電子郵件自動
- 8. 自動發送電子郵件
- 9. 自動發送電子郵件
- 10. 自動發送NSSharingService:電子郵件
- 11. 自動發送短信/電子郵件
- 12. 自動發送電子郵件
- 13. 發送自動電子郵件
- 14. 如何自動發送電子郵件
- 15. 自動發送電子郵件失敗
- 16. 如何發送自動電子郵件?
- 17. 發送的Google電子表格的自動電子郵件
- 18. 發送電子郵件操作不發送電子郵件
- 19. PHP發送電子郵件多次發送電子郵件
- 20. Excel自動通過Outlook發送電子郵件隨機發送
- 21. 發送自動發送的電子郵件問題Android
- 22. 當用戶輸入電子郵件地址時自動發送電子郵件
- 23. Android:電子郵件發送沒有谷歌登錄(自動發送郵件)
- 24. 發送來自django的電子郵件
- 25. 發送來自mIRC的電子郵件
- 26. 在ASP.NET C#中自動引發事件發送電子郵件
- 27. 確定電子郵件發件人併發送電子郵件
- 28. 自動發送電子郵件到電報頻道
- 29. 發送電子郵件處理跳動
- 30. 手動發送電子郵件的Rails