2012-10-16 43 views
5

我們的問題之一是我們的出站電子郵件服務器有時會很糟糕。用戶將在我們的應用程序中觸發電子郵件,並且應用程序可以採取30秒的順序實際發送它。讓我們更加糟糕,並承認我們甚至沒有在後臺線程上這樣做,所以在這段時間內用戶完全被阻止。已經提出SQL Server數據庫郵件作爲解決這個問題的辦法,因爲它基本上實現了一個消息隊列,並且比我們的第三方電子郵件主機在物理上更接近和響應更快。對我們來說,這也是很容易實現的,因爲它只是用存儲過程的執行替換一個調用SmtpClient.Send。我們的大部分應用程序電子郵件都包含PDF,XLS等等,我已經看到這些附件的大小高達20MB。將Database Mail用作電子郵件中繼服務器是個好主意嗎?

使用數據庫郵件來處理我們所有的應用程序電子郵件的異味,但由於實施成本極低,我很難說出任何人。我們的生產數據庫服務器功能太強大了,所以我不確定它是不是也可以用來處理負載。任何想法或更安全的替代品?

回答

1

你只需要通過SMTP服務器來運行它,如果你打算髮送大量的郵件,那麼你不僅需要負載均衡服務器(如果你正在計劃DNS服務器的話)一次發送100K +郵件),但要確保您的出站電子郵件服務器在DNS中註冊了正確的A記錄以防止出現退回。

這是一個便宜的解決方案(減去負載平衡器成本)。

+0

你能否詳細說明一下?你的意思是在我們的局域網上託管一個SMTP服務器並使用它?垃圾郵件過濾是一個問題嗎?我們發送了我認爲少量電子郵件,但經常發送大量附件,所以我不確定負載平衡是否值得。 –

0

是的,雙重家庭服務器爲您的內部局域網和互聯網,並確保它是一個出站唯一的服務器。從一臺SMTP服務器開始,如果你從瓶中取出瓶頸,看看它是內存,磁盤,網絡還是負載相關的。如果它的負載相關,那麼可能是時候看看負載平衡了。如果它與內存相關,則會在內存中投入更多內存。如果它與磁盤相關,則向其發送一個RAID 0 + 1陣列。如果它與網絡相關,則使用更大的管道。

+0

我是一個非常糟糕的網絡/服務器管理員。我們實際的網絡/服務器管理人員說,收件人可能會阻止我們的電子郵件,因爲他們無法對我們的SMTP服務器進行反向查詢。我真的不知道這意味着什麼,但我正在研究它。另外,歡迎來到StackOverflow!編輯原始答案而不是發佈新答案來回答後續問題是一個更好的主意。 –

+0

告訴您的網絡管理員,如果配置正確的DNS記錄,這不會成爲問題。 –

+0

他說我們的域名已經指向一個郵件服務器(它不是我們自己的),我們需要使用子域名或者其他奇怪的東西。 –

相關問題