2010-08-30 71 views
0

我試圖通過asp.net mvc2發送一封電子郵件,並且在我們公司的郵件服務器上運行良好。通過BPOS從Windows Azure發送電子郵件

但是,我們希望切換到使用我們客戶的BPOS帳戶。這可以在本地正常工作,但是在部署到Azure時,我們會收到一些超時錯誤。

任何人都可以證實我有以下正確的?

SmtpClient smtp = new SmtpClient("Smtp.mail.emea.microsoftonline.com"); 
smtp.Port = 587; 
smtp.EnableSsl = true; 
smtp.Credentials = new NetworkCredential("BPOS-EMAIL", "BPOS-PASSWORD"); 

此外,有沒有人知道爲什麼它在本地運行時工作,但不是在天藍色時運行?

回答

3

您是否在Full Trust中運行Web角色?默認情況下,SmtpClient將在ASP中信任下執行。在該模型下,只允許Smtp通過Azure的端口25進行通信。

如果您需要使用SmtpClient.Port屬性,您需要讓角色以完全信任的方式運行。

這可以通過在服務定義中的Web角色上設置enableNativeCodeExecution屬性來實現。

<WebRole name="WebRole1" enableNativeCodeExecution="true"> 

這就是我唯一能想到的可能。如果不是這樣,你可以發佈錯誤日誌,這可能會顯示更多關於問題的細節。

+0

完美工作。謝謝! – 2010-09-01 08:53:36