簡體   English   中英

Exchange Web 服務問題 - 現場郵箱和非現場郵箱

[英]Exchange Web Service issues - onsite mailboxes and offsite ones

我們系統的各個部分都使用 Exchange Web 服務來發送內部電子郵件和創建日歷條目。

從歷史上看,我們有一個本地交換服務器托管所有郵箱; 但是,我們目前正在遷移到基於雲的交換服務。

我的問題是,在本地交換服務器上運行的代碼不適用於我們遷移到雲上托管的郵箱(我們在提交遷移之前移動了一些進行測試)。

我認為問題的症結在於AutodiscoverUrl調用 - 這個塊找到本地托管的郵箱(顯然出於安全原因匿名):

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls13 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls | SecurityProtocolType.Ssl3;

ExchangeService myExchangeService = new ExchangeService(ExchangeVersion.Exchange2007_SP1)
{
    TraceEnabled = true,
    TraceEnablePrettyPrinting = true,
    TraceFlags = TraceFlags.All,
    TraceListener = labelTraceListener,
    Credentials = new WebCredentials(mySuperUser, mySUPassword),
    ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, "MyEmailName") //The bit before the @
};
myExchangeService.AutodiscoverUrl("MyEmailName@MyDomain", RedirectionCallback);

但是,如果我嘗試將模擬目標切換到已遷移到雲的郵箱之一,則AutodiscoverUrl調用似乎被未授權響應阻止。 考慮到如果我使用與遠程郵箱之一直接關聯的憑據而不進行模擬,它會起作用,我不太確定問題可能是什么。 我已經設法確定了一些可能性 - 但我無權訪問交換服務器的配置,所以在我對什么有一個相對確鑿的想法之前,我不願意將這個問題提交給網絡管理員問題肯定是。

我認為這要么是用於模擬的超級用戶帳戶不存在於新的基於雲的服務器上,要么是我的谷歌搜索沒有返回的新設置?

當然,除非我在代碼本身中做錯了什么?

更新:通過將域附加到超級用戶(即它的完整電子郵件地址),我可以找到所有郵箱 - 它只是缺乏從雲托管郵箱發送任何內容的能力。

收到的異常如下:

There was a problem sending the email - please try again!<br />Microsoft.Exchange.WebServices.Data.ServiceRequestException: The request failed. The remote server returned an error: (401) Unauthorized. ---> System.Net.WebException: The remote server returned an error: (401) Unauthorized.
   at System.Net.HttpWebRequest.GetResponse()
   at Microsoft.Exchange.WebServices.Data.EwsHttpWebRequest.Microsoft.Exchange.WebServices.Data.IEwsHttpWebRequest.GetResponse() in \\REDMOND\EXCHANGE\BUILD\E15\15.00.0913.015\SOURCES\sources\dev\EwsManagedApi\src\EwsManagedApi\Core\EwsHttpWebRequest.cs:line 113
   at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.GetEwsHttpWebResponse(IEwsHttpWebRequest request) in \\REDMOND\EXCHANGE\BUILD\E15\15.00.0913.015\SOURCES\sources\dev\EwsManagedApi\src\EwsManagedApi\Core\Requests\ServiceRequestBase.cs:line 821
   --- End of inner exception stack trace ---
   at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.GetEwsHttpWebResponse(IEwsHttpWebRequest request) in \\REDMOND\EXCHANGE\BUILD\E15\15.00.0913.015\SOURCES\sources\dev\EwsManagedApi\src\EwsManagedApi\Core\Requests\ServiceRequestBase.cs:line 831
   at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.ValidateAndEmitRequest(IEwsHttpWebRequest& request) in \\REDMOND\EXCHANGE\BUILD\E15\15.00.0913.015\SOURCES\sources\dev\EwsManagedApi\src\EwsManagedApi\Core\Requests\ServiceRequestBase.cs:line 724
   at Microsoft.Exchange.WebServices.Data.MultiResponseServiceRequest`1.Execute() in \\REDMOND\EXCHANGE\BUILD\E15\15.00.0913.015\SOURCES\sources\dev\EwsManagedApi\src\EwsManagedApi\Core\Requests\MultiResponseServiceRequest.cs:line 157
   at Microsoft.Exchange.WebServices.Data.ExchangeService.InternalCreateItems(IEnumerable`1 items, FolderId parentFolderId, Nullable`1 messageDisposition, Nullable`1 sendInvitationsMode, ServiceErrorHandling errorHandling) in \\REDMOND\EXCHANGE\BUILD\E15\15.00.0913.015\SOURCES\sources\dev\EwsManagedApi\src\EwsManagedApi\Core\ExchangeService.cs:line 401
   at Microsoft.Exchange.WebServices.Data.Item.InternalCreate(FolderId parentFolderId, Nullable`1 messageDisposition, Nullable`1 sendInvitationsMode) in \\REDMOND\EXCHANGE\BUILD\E15\15.00.0913.015\SOURCES\sources\dev\EwsManagedApi\src\EwsManagedApi\Core\ServiceObjects\Items\Item.cs:line 198
   at Microsoft.Exchange.WebServices.Data.EmailMessage.InternalSend(FolderId parentFolderId, MessageDisposition messageDisposition) in \\REDMOND\EXCHANGE\BUILD\E15\15.00.0913.015\SOURCES\sources\dev\EwsManagedApi\src\EwsManagedApi\Core\ServiceObjects\Items\EmailMessage.cs:line 143
   at Assets_Controls_EmailControlWrap.btnSend_Click(Object sender, EventArgs e) in N:\Documents\Code\FIS_NewLibrary\Franklin Information System\Assets\Controls\EmailControlWrap.aspx.vb:line 369

使用此工具: https ://aka.ms/PillarEXOBasicAuth 我們發現了問題 - 雖然 UI 說基本身份驗證已打開,但它不在后端; 打開它可以正確解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM