簡體   English   中英

如何延遲發送電子郵件?

[英]How to send email with delay?

我有 ASP.NET MVC 應用程序,我需要在用戶離開頁面后在“X”分鍾(每個用戶時間不同)內向用戶發送電子郵件。 我該怎么做?

Http 是無狀態的,發送響應的時間頁面執行完成。 您需要一個應用程序,即使在很長一段時間內某個機構沒有訪問網站時,它也會發送郵件。 您可以將一段時間后需要發送的郵件放入數據庫中。 另一個應用程序可能是一個 Windows 服務,它將在固定的時間間隔后匯集數據庫,比如說 30 秒,並發送已達到發送時間的郵件。

我會選擇的解決方案取決於您正在構建的系統所需的規模和可靠性。

如果它是一個小規模(即 1 個服務器同時沒有太多用戶),非關鍵任務系統(即,如果不時實際發送一些電子郵件,例如如果您的服務器崩潰,則可以),然后該解決方案可以像管理內存中的隊列一樣簡單,該隊列會定期喚醒以向最近離開頁面的用戶發送電子郵件。

如果您需要構建一些非常可靠的東西,並且可能需要在短時間內發送大量電子郵件,並且如果您的系統必須擴展到很多機器,那么您可能希望構建一個基於一些存儲中的隊列,根據需要使用盡可能多的機器來挑選物品並處理它們。 如果您需要非常高的可擴展性和可靠性,諸如 Windows Azure 隊列服務之類的 API 可能非常適合這種情況。

暫無
暫無

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

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