如何在Office 365中启用SMTP身份验证

如何在Office 365中启用SMTP身份验证。为了确保发送的电子邮件是安全的,并防止未经授权的访问,请阅读本文,指导您通过Microsoft Admin Center和PowerShell启用“身份验证SMTP”。

当您在Microsoft Admin Center中执行此任务时,您只能为一个邮箱启用 SMTP 身份验证。但是,PowerShell提供了在多个邮箱中启用此功能的选项。

Microsoft建议禁用SMPT身份验证(SMTP AUTH)在您的 Office 365 租户(全组织范围内)。然后,您可以在需要的各个邮箱上启用该设置。 您只能通过Microsoft的管理中心在分配了Exchange Online许可证的邮箱上启用此功能。但是,当您使用PowerShell时,您可以启用SMTP身份验证,但它不会在邮箱上生效。

您只能通过Microsoft的Admin Center在已分配Exchange Online许可证的邮箱上启用此功能。但是,当您使用PowerShell时,您可以启用SMTP身份验证,但它不会在邮箱上激活。

通过Office 365 Admin Center启用SMTP身份验证

使用此方法为单个Office 365邮箱启用SMTP身份验证。如果您想检查状态,启用或禁用租户范围内的SMTP身份验证,请参阅本文第二部分中的步骤。

以下是详细介绍如何在单个邮箱上启用SMTP AUTH的步骤。

1. 打开Microsoft 365 Admin Center – admin.microsoft.com,并使用您的账户登录。
2. 然后,点击页面左侧的菜单图标。

3. 当菜单展开时,点击用户,然后点击活动用户

4. 接下来,找到您想要修改的邮箱并点击它。请注意,此用户必须拥有有效的Exchange Online许可证,否则无法启用SMTP选项。

5. 在出现的用户弹出窗口中,点击邮件选项卡。然后,在“邮件应用”部分点击管理邮件应用

6. 最后,要为邮箱启用SMTP认证,请勾选“已认证的SMTP”复选框,并点击保存更改

尝试我们的Active Directory & Office 365报告和审计工具

试用我们 免费。提供数百种报告模板。轻松自定义您的AD、Azure AD & Office 355报告。




使用Powershell在Office 365中启用SMTP认证

通过Microsoft Admin Center启用SMTP身份验证存在局限性,尤其是无法同时为多个邮箱启用SMTP。考虑到这些限制,PowerShell提供了更多的选项、灵活性和控制。

话虽如此,在运行本节中讨论的任何命令之前,您必须首先安装Exchange Online PowerShell模块,然后通过PowerShell连接到Exchange Online。

让我们从安装所需的模块并连接到Exchange Online开始本节。

安装Exchange Online PowerShell模块并连接到Exchange Online

1. 搜索PowerShellWindows PowerShell被选为最佳匹配。

在详细信息窗格中,点击“以管理员身份运行”。您的电脑会提示您允许应用程序对您的设备进行更改,点击

2. 在PowerShell命令控制台中,输入以下命令并按下键盘上的Enter键。

Powershell.exe -ExecutionPolicy RemoteSigned

3. 接下来安装Exchange Online PowerShell模块(ExchangeOnlineManagement)。要安装该模块,请将下面的命令复制到您的PowerShell控制台中,然后按Enter键执行命令。

Install-Module ExchangeOnlineManagement

4. 安装ExchangeOnlineManagement PowerShell模块后,您需要在计算机上将其加载。为此,请执行以下命令——将其复制并粘贴到PowerShell中,然后,按Enter键。

Import-Module ExchangeOnlineManagement

5. 最后,通过运行以下命令来连接并验证您的账户以连接到Exchange Online。

Connect-ExchangeOnline -UserPrincipalName (UPN)

将UPN更改为您的Office 365登录账户,使用格式——[email protected]。执行命令时,PowerShell会提示您输入账户的密码

输入密码并点击登录。当你成功登录到Exchange Online PowerShell时,PowerShell会显示类似于我在下面第二个截图中的消息。

继续执行下面的下一个子部分。

使用PowerShell在Office 365租户范围内启用SMTP身份验证

微软默认在Office 365中禁用SMTP身份验证,并建议你保持这种方式。但是,如果你想改变默认配置并在租户范围内启用SMTP,请按照以下步骤操作。

1. 首先,检查SMTP身份验证在您的Office 365租户中的当前状态。要检查该协议在您的Office 365组织中是启用还是禁用,请运行以下命令。

如果SMTP如预期那样被禁用,该命令会显示True。否则,它会显示False.

我的显示True,这意味着在我的Office 365租户中SMTP被禁用了。

Get-TransportConfig | Format-List SmtpClientAuthenticationDisabled

2. 如果你的也被禁用了,并且你希望在你的Office 365租户中全局启用它,执行下面的PowerShell命令。

Set-TransportConfig -SmtpClientAuthenticationDisabled $false

在运行了上面的Set-TransportConfig命令之后,如果你运行Get-TransportConfig,它会显示False,这意味着SMTP现在已经在你的Office365组织中对所有符合条件的邮箱启用了。

要在Office 365租户中全局禁用该协议,将之前的命令中的$false改为$true

Set-TransportConfig -SmtpClientAuthenticationDisabled $true

使用PowerShell为单个Office 365邮箱启用SMTP身份验证

除了使用Exchange OnlinePowerShell在Office 365租户范围内启用SMTP身份验证外,你还可以使用它来允许单个或多个邮箱使用该协议。

在接下来的子部分中,你将学习如何在多个邮箱上执行此任务,但首先,让我们看看如何在单个邮箱上执行此操作。运行以下命令以在具有UPN [email protected]的Office 365邮箱上启用SMTP身份验证。

Set-CASMailbox -Identity VictorAs@corp.itechguides.com -SmtpClientAuthenticationDisabled $false

参数SmtpClientAuthenticationDisabled接受$false(SMTP已启用),$true(SMTP已禁用),或$null(邮箱的SMTP身份验证设置由租户范围的配置控制)。

使用PowerShell为多个Office 365邮箱启用SMTP身份验证

I’ll kick off this subsection by showing how to enable SMTP authentication for all Office 365 mailboxes with the protocol disabled. The command below accomplishes this task. 

Get-CASMailbox -ResultSize unlimited | Where-Object {$_.SmtpClientAuthenticationDisabled -eq $true} | ForEach-Object {Set-CASMailbox -Identity $_.PrimarySmtpAddress -SmtpClientAuthenticationDisabled $false}

此命令可能需要一段时间,具体取决于需要配置的邮箱数量。

此外,该命令有三个子命令。

首先,Get-CASMailbox命令返回Office 365租户中的所有邮箱。然后,结果通过管道传输到Where-Object命令,该命令对其进行过滤并仅返回设置为$trueSmtpClientAuthenticationDisabled属性(邮箱已禁用)的邮箱。

最后,邮箱通过管道传输到ForEach-Object以迭代所有邮箱,并使用Set-CASMailbox命令启用SMTP身份验证。

上面的例子非常适合在大量邮箱上启用SMTP。但是,如果您想在几个邮箱上执行此任务,您可以直接将邮箱的UPNs管道输入到ForEach-Object命令中,而不需要使用Get-CASMailbox命令。 

在下面的例子中,我使用以下UPNs——[email protected][email protected][email protected]启用了三个邮箱的SMTP认证。

"[email protected]", "[email protected]", "[email protected]" | ForEach-Object {Set-CASMailbox -Identity $_ -SmtpClientAuthenticationDisabled $false}

如果您有更多的邮箱,直接将它们输入到命令行可能不实用。在这种情况下,最好将所有邮箱的UPNs输入到一个文本文件中(每个UPN占一行)。 

然后,按照下面的方式修改最后的命令。 

Get-Content "D:\Office-365-mailboxes.txt" | ForEach-Object {Set-CASMailbox -Identity $_ -SmtpClientAuthenticationDisabled $false}

如何在Office 365中启用SMTP认证结论

在Office 365邮箱中启用SMTP(简单邮件传输协议)认证,确保电子邮件客户端对发出的电子邮件进行认证,并安全地发送它们。此外,SMTP协议减少了电子邮件消息被接收方的电子邮件服务器拒绝或标记为垃圾邮件的可能性。

这提高了电子邮件的送达率并减少了丢失的消息。

Office 365邮箱上启用SMTP相对简单。不出所料,您可以通过Microsoft Admin Center进行此操作。

然而,这种方法有一个主要的限制——您只能一次为一个邮箱启用SMTP。好消息是,PowerShell通过提供多种方式在Office 365邮箱上启用SMTP认证,克服了这一限制。

使用PowerShell,就像使用Microsoft Admin Center一样,您可以在单个邮箱上启用该协议。除此之外,您还可以使用PowerShell在整个Office 365租户范围内启用或禁用SMTP身份验证。

不仅如此,PowerShell还提供了在多个邮箱中启用此协议的选项。

Source:
https://infrasos.com/how-to-enable-smtp-authentication-in-office-365/