2016-03-18 62 views
2

我們已經在測試中運行了一段時間的新系統,並創建了電子郵件到一個文件夾,這樣他們就不會意外地出現在客戶端。現在我們啓用了實時電子郵件發送功能,因此我們收到了發送問題。.NET v4.0中無法識別的屬性'enableSsl'

我使用的是ActionMailer.NET,下面是創建和發送電子郵件的代碼。我將不包括查看:

EmailResult x = new EmailController().EmailWorkOrderForApprovalToClient(model); 
      System.Net.Mail.Attachment file = new System.Net.Mail.Attachment(FilePath); 
      x.Mail.Attachments.Add(file); 
      x.Deliver(); 

這給錯誤

The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.57 SMTP; Client was not authenticated to send anonymous mail during MAIL FROM

的web.config文件看起來是這樣的:

<system.net> 
<mailSettings> 
    <smtp deliveryMethod="Network" from="[email protected]"> 
    <specifiedPickupDirectory pickupDirectoryLocation="" /> 
    <network defaultCredentials="false" host="smtp.office365.com" password="secret" port="587" userName="[email protected]" /> 
    </smtp> 
</mailSettings> 

我的假設是,enableSsl =「true」需要添加到網絡線,但是當我這樣做,並嘗試去網站的SMTP電子郵件部分IIS,我得到的錯誤:

Unrecognized attribute 'enableSsl'

我不是IIS是熱的,但我檢查應用程序池和它的.NET CLR版本是4.0.30319。我也檢查過在服務器上安裝了.NET v4.5。

這讓我感到莫名其妙,我希望不必將我的代碼完全更改爲允許指定SSL的方法。

回答

1

在這裏回答我自己的問題,基本上答案是:「不要相信錯誤信息」。在我嘗試的所有配置中,當它被告知是不可接受的時候,我相信錯誤信息。但是,無論如何我都嘗試過它,它在發送時使用enableSsl屬性,這使得與Office 365的連接成功。

稍微刺激一個星期內我會忘記的IIS錯誤,但現在很煩人。

相關問題