2013-04-22 42 views
0

您好可以告訴我如何在Azure中實現電子郵件功能,而無需使用sendgrid或任何其他第三方。我們可以有服務總線來連接天藍色和交換服務器發送emails.is這是可能的嗎?或者我們有交換服務器的Web服務是在天藍色的訪問和發送 電子郵件如何在天藍色的環境中設置電子郵件功能

回答

0

我曾經見過的一件事是讓Windows Azure應用程序在隊列中放置一條消息,以及一個blob中可選的一些更大的數據(附件,大型正文文本等)。這可以將數據存儲在Windows Azure存儲中。從那裏,本地應用程序(例如Windows服務)可以拉取隊列和blob數據,構建電子郵件消息並將其發送到本地Exchange服務器。

如果您需要雲託管的所有東西,那麼我認爲您應該能夠將Windows Azure應用連接到Exchange Web服務端點(假設您可以正確保護並確保Web服務連接)。

2

問題不在使用第三方,這是關於安全和防火牆的影響 - 特別是與企業安全霸主。交換服務器可以啓用外出smtp(即使使用用戶名和密碼),並且任何應用程序(包括在Azure上運行的應用程序)都可以輕鬆發送外發SMTP。你一定會遇到的問題是,交換服務器周圍的安全措施將不允許從公共IP地址發送smtp(黑客經常掃描打開的端口25,以便他們可以通過不知情的郵件服務器轉發垃圾郵件)。 Windows Azure(角色和網站)不能使用固定(傳出)IP,因此無法創建防火牆規則。

的選項有:

  1. 設置你的公司網絡的VPN,讓您的Azure的實例會從私有IP地址發送。
  2. 在Azure虛擬機上運行郵件中繼服務。虛擬機在IP地址上可以有無限的租約,所以不會改變(很多)。在Linux上運行簡單而便宜的郵件傳輸代理服務。
  3. 使用任何'ol smtp服務器。如果你發送的不多,你可以使用谷歌甚至outlook.com。 Outlook.com允許您配置其他地方託管的帳戶,因此您應該能夠使用Windows Live ID(Microsoft帳戶)使用smtp。

我會避免編寫使用類似服務總線的複雜代碼和服務。 System.Net.Mail應該被用來發送到一個smtp服務器。

相關問題