You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

混合部署下本地EWS访问365邮箱遇ErrorNonExistentMailbox错误

Exchange混合部署EWS访问365邮箱触发ErrorNonExistentMailbox的排查与解决

问题概述

我们采用Exchange混合部署架构,包含本地邮箱及已迁移至Microsoft 365的邮箱。应用通过本地Exchange Web Services(EWS)访问用户日历:

  • 本地用户可正常使用
  • 访问365用户时触发ErrorNonExistentMailbox错误,且返回的MailboxGuid为SID格式(而非标准GUID),错误详情如下:
<m:CreateItemResponseMessage ResponseClass="Error">
    <m:MessageText>No mailbox with such guid.</m:MessageText>
    <m:ResponseCode>ErrorNonExistentMailbox</m:ResponseCode>
    <m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
    <m:MessageXml>
        <t:Value Name="MailboxGuid">S-1-5-21-313343422-1840124433-.....</t:Value>
    </m:MessageXml>
    <m:Items/>
</m:CreateItemResponseMessage>

已排除许可问题(用户均获授权),联系微软技术支持、使用远程连接分析器测试均未解决问题。

可能原因及排查解决步骤

1. 本地AD用户属性异常

已迁移至365的用户,本地AD对象属性未正确同步会导致EWS无法解析到365邮箱的GUID:

  • 打开AD用户和计算机(高级模式),检查目标用户的属性:
    • 确认msExchRemoteRecipientType值为4(标识远程邮箱)
    • 确认targetAddress为用户的365邮箱地址(格式:user@domain.onmicrosoft.com)
    • 确认msExchMailboxGuid属性不为空,且与365邮箱的GUID一致(可通过Exchange Online PowerShell的Get-Mailbox <user> | Select-Object MailboxGuid获取)
  • 若属性异常,强制AD与Azure AD同步:
    Start-ADSyncSyncCycle -PolicyType Delta
    

2. 混合部署远程域/组织关系配置错误

本地Exchange的远程域或组织关系配置不当,会导致EWS请求无法正确路由到365:

  • 检查远程域配置:
    Get-RemoteDomain | Where-Object {$_.TargetDeliveryDomain -eq $true}
    
    确认存在针对365租户的远程域,且TargetDeliveryDomain设为$true
  • 检查组织关系配置:
    Get-OrganizationRelationship
    
    确认组织关系中正确配置了365的EWS端点,且FreeBusyAccessEnabled、MailboxMoveEnabled等参数为$true

3. EWS请求寻址方式错误

应用若使用本地AD标识符(如SID、本地GUID)访问365邮箱,会导致EWS在本地查找邮箱失败:

  • 修改应用的EWS请求逻辑,使用用户的主SMTP地址作为目标邮箱标识符
  • 若使用EWS Managed API,示例代码如下:
    var service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);
    service.Credentials = new WebCredentials("local-service-account", "password");
    service.AutodiscoverUrl("user@domain.com", RedirectionUrlValidationCallback);
    
    // 访问365用户日历,使用SMTP地址指定目标邮箱
    var folderId = new FolderId(WellKnownFolderName.Calendar, "365-user@domain.com");
    var items = service.FindItems(folderId, new ItemView(10));
    

4. Autodiscover配置未正确指向365

本地Autodiscover未返回365邮箱的EWS端点,会导致本地EWS尝试在本地查找邮箱:

  • 测试目标用户的Autodiscover:
    Test-OutlookWebServices -Identity "365-user@domain.com" -ClientAccessServer "local-exchange-server"
    
    确认返回的EWS端点为https://outlook.office365.com/EWS/Exchange.asmx

内容的提问来源于stack exchange,提问作者Don Ha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 07:33:24