即時通訊不使用事件調度程序只是asp.net mvc並需要在事件發生前4天發送提醒。我有事件存儲日期(Event_Start),請你幫忙嗎?發送活動電子郵件提醒asp.net mvc
我已經創造了控制器)一類公共無效提示(,但我現在堅持
即時通訊不使用事件調度程序只是asp.net mvc並需要在事件發生前4天發送提醒。我有事件存儲日期(Event_Start),請你幫忙嗎?發送活動電子郵件提醒asp.net mvc
我已經創造了控制器)一類公共無效提示(,但我現在堅持
這可能是最適合你使用Scheduler服務調用/參觀「提醒」頁面,在確定的時間。例如http://mysite/Reminder/SendEmails/EventId。您可以處理控制器內的電子郵件發送。
根據您從數據庫中檢索到的項目,Your Reminder()方法將完成爲那些爲期4天的事件發送電子郵件的工作。您可以使用System.Net.Mail.SmtpClient類來實際發送電子郵件。
更大的挑戰是如何觸發每天執行一次的路徑。其他的擔心是,實際的發送可能需要一段時間,如果在web.config中沒有處理允許的請求時間,可能會超時。
對於這些類型的活動,只需創建一個控制檯應用程序並通過服務器上的日常Windows計劃任務觸發即可。
以下是關於在MVC上執行該操作的問題的以前討論:Send Email in Background。
您可能會創建一個頁面,確定需要使用System.Net.Mail發送和發送的內容。然後創建一個定期訪問該頁面的簡單批處理文件(可通過Windows Scheduled Jobs處理日程安排)。
如果您無法創建可作爲服務運行或作爲計劃作業運行的內容,那麼另一個選擇是使用緩存過期作爲作業調度程序。人們一直在用ASP.NET做這件事。這篇文章是老了,但它仍然應該好工作:
您可以使用http://quartznet.sourceforge.net/觸發事件檢測功能。這非常簡單,無需Windows Scheduled Task來完成這項工作。
我已經創建了一個電子郵件類使用System.Net.Mail – Alss
很好,使一個單獨的服務類。這樣,如果您決定轉到諸如控制檯應用等替代實現,它仍然可以重用。 – Turnkey
我現在的問題是實際上有一個表單來輸入數據庫中的電子郵件細節發送它像,任何想法請嗎? – Alss