簡體   English   中英

電子郵件通知服務

[英]Email Notification Service

有哪些想法(使用.NET和SQL 2005)來實現發送電子郵件的服務? 電子郵件是數據驅動的。 要發送電子郵件的日期和時間是表格中的字段。

我已經構建了幾個用於發送數據驅動電子郵件的高容量電子郵件通知服務。 一些建議:

  • 考慮使用高質量的電子郵件服務提供商,專門管理退回,取消訂閱,isp和黑名單管理等。如果發送電子郵件對您的業務至關重要,而不是您的主要業務,那將是值得的。 大多數人都有api用於發送模板化消息,點擊跟蹤,開放費率以及提供觸發器等。
  • 查看SQL Server Service Broker以對實際消息進行排隊,否則您可以考慮使用Microsoft消息隊列服務。 無需構建自己的排隊服務。 當問題已經解決時,我們花了太多時間處理排隊基礎設施代碼。
  • 在業務層上開發一組靈活的事件,以允許觸發此類消息並將它們異步地放入隊列中,從長遠來看,這將為您節省很多麻煩,而不是輪詢數據庫或使用數據庫進行攻擊觸發。

您可以使用觸發器在UPDATE / DELETE / INSERT上發送電子郵件。 觸發器可以用.Net實現,只需使用System.Net.Mail命名空間中的類從那里發送郵件。

這是一篇很好的文章,介紹如何在.Net中實現CLR(.Net)觸發器。

對於輕量級SMPT服務器,並盡量減少延遲,您可以使用Kenny的答案中建議的那個。

感謝大家的反饋。 為簡單起見,我開始使用SP查找要發送的提醒,並使用sp_send_dbmail(SQL數據庫郵件)發送電子郵件。 這每分鍾都在工作。 我更新記錄以指示提醒已與從sp_send_dbmail發回的MailItemId一起發送。 預期的提醒量是每天10 ^ 2范圍內的最壞情況。

我很樂意聽到人們認為這個解決方案可能存在的任何缺點的反饋。

順便說一句,我不敢相信Vista沒有配備本地SMTP服務器! 幸運的是谷歌更慷慨,我使用Gmail的服務器進行測試。

通常,我只是啟動一個過程,如http://caspian.dotconf.net/menu/Software/SendEmail/

我打算建議SQL Server Notification Services,它將很好地處理這項工作。 但是我看到它已經從SQL Server 2008中刪除了,所以你可能不想去那里。

數據驅動的SSRS訂閱 只是一個想法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM