解决 Microsoft 365 Exchange 出现“无法更新接受的域”问题

解决配置 Microsoft 365 Catch-all 邮箱遇到的问题。

Microsoft 365 E3/E5 提供了 25 用户的域名邮箱,虽然为每位用户手动添加多个别名,但是有时候想要使用一个新的别名收件还要手动添加,略显复杂,不如配置一下 catch-all,也就是所有发送到域内的不存在的邮箱账号的邮件全部转发到某个特定邮箱。也就是无限别名,确保收到发往域内的所有邮件。

网上的教程也有一些,例如一般来说,参考 Microsoft 365 搭建域名邮箱并开启 Catch-all 即可完成配置。

但我在配置过程中,第一步“修改域类型”就遇到了 无法更新接受的域:Error executing cmdlet 错误,不能把域更改为内部域,主要来解决这个问题。

连接 Exchange Online PowerShell

Web 解决不了的问题,Powershell 多半可以,因此请出强大的 Powershell。建议使用管理员身份运行,避免权限问题。

安装模块

1
Import-Module ExchangeOnlineManagement

登录 Exchange Online

未开启 MFA

获取用户凭据,在弹出的窗口中输入你的管理员账号密码。

1
$Credential = Get-Credential

然后登录到 Exchange。

1
Connect-ExchangeOnline  -Credential $Credential

会出现一些提示,不报错即登录成功。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
----------------------------------------------------------------------------------------
This V3 EXO PowerShell module contains new REST API backed Exchange Online cmdlets which doesn't require WinRM for Client-Server communication. You can now run these cmdlets after turning off WinRM Basic Auth in your client machine thus making it more secure.

Unlike the EXO* prefixed cmdlets, the cmdlets in this module support full functional parity with the RPS (V1) cmdlets.

V3 cmdlets in the downloaded module are resilient to transient failures, handling retries and throttling errors inherently.

However, REST backed EOP and SCC cmdlets are not available yet. To use those, you will need to enable WinRM Basic Auth.

For more information check https://aka.ms/exov3-module
----------------------------------------------------------------------------------------

开启 MFA

对于已经开启 MFA 的账户,可以使用交互式登录(未开启 MFA 也能用)。

1
Connect-ExchangeOnline -UserPrincipalName admin@example.onmicrosoft.com

对于 Powershell 7 且没有 Web 浏览器的情况(远程连接 Powershell 时),可以参考官方文档

修改域类型

使用下面的命令获取所有域,此处应该正常返回你配置过的所有域名。

1
Get-AcceptedDomain

使用如下命令修改为内部域,将 your-domain.com 修改为你的域名。

1
Set-AcceptedDomain -Identity your-domain.com -DomainType InternalRelay

会返回如下警告,但不用理会,此时登录 Web 端再查看,会发现已经修改成功了。

1
2
3
警告: 不存在用于传递此域的邮件的出站连接器请确保存在类型为 OnPremises
的出站连接器并且它与每个内部中继接受的域相匹配连接器可以启用 AllAcceptedDomains
标记或者具有与接受的域相匹配的收件人域

修改成功

后续步骤

按照 Microsoft 365 搭建域名邮箱并开启 Catch-all 完成即可。

在创建规则部分的在以下情况应用此规则,按照 发件人 - 在外部/内部 - Outside the organization 进行设置。

创建规则

参考资料

连接 Exchange Online PowerShell | Microsoft Learn

在 Exchange Online 中管理接受域 | Microsoft Learn

0%