2017-04-27 43 views
0

我正在測試將電子郵件發送到我自己公司的電子郵件ID。我們有Outlook託管在Exchange服務器上。我用下面的代碼(有一個隨機更換我的電子郵件ID由於隱私原因):從C連接到Exchange時出現SSL/TLS錯誤#

using System; 
using Microsoft.Exchange.WebServices.Data; 

namespace TestEmail 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2); 
      service.UseDefaultCredentials = true; 
      //service.Credentials = new WebCredentials("[email protected]", "password"); 

      service.TraceEnabled = true; 
      service.TraceFlags = TraceFlags.All; 

      service.AutodiscoverUrl("[email protected]", RedirectionUrlValidationCallback); 

      EmailMessage email = new EmailMessage(service); 

      email.ToRecipients.Add("[email protected]"); 

      email.Subject = "Test mail"; 
      email.Body = new MessageBody("Sending the test email"); 

      email.Send(); 
     } 

     private static bool RedirectionUrlValidationCallback(string redirectionUrl) 
     { 
      // The default for the validation callback is to reject the URL. 
      bool result = false; 

      Uri redirectionUri = new Uri(redirectionUrl); 

      // Validate the contents of the redirection URL. In this simple validation 
      // callback, the redirection URL is considered valid if it is using HTTPS 
      // to encrypt the authentication credentials. 
      if (redirectionUri.Scheme == "https") 
      { 
       result = true; 
      } 
      return result; 
     } 
    } 
    } 
} 

當我跑,我得到它說「AutodiscoverConfiguration失敗的錯誤:網絡異常(基礎連接被關閉:無法爲SSL/TLS安全通道的信任關係)

我不知道的Exchange服務器的安全性是如何在我的工作場所設置,因爲它是由不同的團隊來處理

怎麼辦。我解決了這個問題嗎?

回答

0

我真的更喜歡你是否願意與你的本地Exchange管理員一起工作,就好像AutoDiscovery有什麼問題一樣,只有他們能幫助解決這個問題。

反正這裏是基於我們目前有較少的相關信息的一些可能的選項:

1) 這可能是一個SSL信任問題。確保您連接的交換服務所使用的根CA授權在您的應用程序/您的本地操作系統中受信任。根據您的本地配置,您需要在此處導入一些可信的SSL根或信任selfsigned ssl證書。

2.) 要檢查自動發現問題,我們可以嘗試通過Microsoft Remote Connectivity Test (Outlook Autodiscover)進行遠程檢查。但根據Exchange服務器配置,可能會有內部和外部自動發現配置,並驗證外部並不意味着內部工作正常。如上所述:您需要使用Exchange管理員。

+0

感謝您的迴應! 我嘗試了您提到的Microsoft遠程連接測試,但仍然失敗。 正如你所建議的,我想我需要從Exchange管理員那裏獲得幫助。 – doodles

+1

將是最好的選擇。如果需要,您可以[微調Exchange自動發現過程](http://www.admin-enclave.com/en/articles/exchange/267-speed-up-the-exchange-outlook-autodiscovery-process.html),但我不知道這是否適用於您的自創應用程序。 – BastianW