我有C#web應用程序,希望它在特定日期發送電子郵件,例如設備未在到期日返回。數據在MS SQL數據庫中。在特定日期觸發電子郵件
我已經完成了所有的電子郵件代碼,我只是好奇我該如何觸發這封電子郵件,在COB之後的那一天呢?
感謝,
埃裏克
我有C#web應用程序,希望它在特定日期發送電子郵件,例如設備未在到期日返回。數據在MS SQL數據庫中。在特定日期觸發電子郵件
我已經完成了所有的電子郵件代碼,我只是好奇我該如何觸發這封電子郵件,在COB之後的那一天呢?
感謝,
埃裏克
創建一個作爲計劃任務運行的小控制檯應用程序。
它會做類似如下:
if
發送日期等於DateTime.Now
然後發送電子郵件foreach
電子郵件更新
你提到你想用一個觸發器來做到這一點..以及我從來沒有這麼做過,但有看着它。我使用控制檯應用程序方法。我更喜歡這個。但是here是我在觸發方法上找到的一個鏈接。
你作出這樣的查詢該應今天發出的所有郵件數據庫,併發送電子郵件的應用程序。然後,您可以安排該應用程序每天使用任務計劃程序運行。
Quartz scheduler是一個不錯的免費c#開源選項。 關注鏈接: http://quartznet.sourceforge.net/
沒有一些資料片的,你可以觀察數據庫的改變,你會最終有一個計劃任務,服務,或DB工作這樣做。
因爲SQL服務器有能力發送電子郵件,所以我甚至不打擾使用C#。只需在SQL服務器中設置一個作業,該作業每天在創建未發送郵件的遊標之後運行,並使用SQL Server中的原生功能發送它們。
我在想創建一個登錄觸發器,因爲我在連接字符串中使用特定的用戶登錄名,所以它會記錄在dm_exec_sessions表中。 但是,該網站現在與以下內容分離: 「由於觸發器執行導致登錄失敗,登錄'dev'。將數據庫上下文更改爲'mydatabase'。將語言設置更改爲us_english。「 – Risho 2010-05-20 19:56:33
服務器上可能存在服務策略和/或獨立應用程序。 我不知道我是否使用MS SQL觸發郵件。我知道它有能力。 – Risho 2010-05-20 17:42:11
@Risho,Ive之前對它進行了調查,我使用了應用程序方法。當我看着它的時候,我把鏈接指向了我正在閱讀的觸發器。看看我更新的答案。 – Gabe 2010-05-20 18:17:22