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

如何在 Office 365 中啟用 SMTP 身份驗證。為了確保外發郵件安全並防止未經授權的訪問,請閱讀這篇文章,指導您通過 Microsoft Admin Center 和 PowerShell 啟用“已驗證 SMTP”。

當您在 Microsoft Admin Center 中執行此任務時,您只能一次為一個郵箱啟用 SMTP 身份驗證。然而,PowerShell 提供了在多個郵箱中啟用此功能的選項。

微軟建議在您的 Office 365 租戶(組織範圍)中禁用 SMPT 身份驗證(SMTP AUTH)。然後,您可以為需要此功能的個別郵箱啟用該設置。您只能通過 Microsoft 的管理中心為已指定 Exchange Online 授權的郵箱啟用此功能。然而,當您使用 PowerShell 時,您啟用 SMTP 身份驗證,但該郵箱上尚未啟用。

您只能透過Microsoft的Admin Center在已分配Exchange Online許可證的郵箱上啟用此功能。但是,當您使用PowerShell時,您可以啟用SMTP驗證,但它不會在郵箱上激活。

透過Office365 Admin Center啟用SMTP驗證

使用此方法在個別Office365郵箱上啟用SMTP驗證。如果您想檢查狀態、啟用或禁用整個租戶的SMTP驗證,請參閱本文第二部分的步驟。

以下是啟用個別郵箱SMTP AUTH的詳細步驟。

1.打開Microsoft365 Admin Center– admin.microsoft.com並使用您的帳戶登錄。
2.然後,點擊頁面左側的菜單圖標。

3.當菜單展開時,點擊用戶,然後點擊活躍用戶

4.接下來,找到您想要修改的信箱並點擊它。請注意,此用戶必須擁有有效的Exchange Online許可證,否則,啟用SMTP的選項將不可用。

5.在出現的用戶飛出視窗中,點擊郵件標籤。然後,在“郵件應用程序”部分的郵件標籤上點擊管理電子郵件應用程序

6.最後,要啟用信箱的SMTP驗證,請勾選“已驗證的SMTP”複選框並點擊保存更改

試用我們的Active Directory & Office365報告和審計工具

試用我們免費版本。提供數百種報告模板。輕鬆自定義您的AD、Azure AD和Office355報告。




使用Powershell在Office365中啟用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更改為您的Office365登錄帳戶,使用格式 – [email protected]。當您執行命令時,PowerShell會提示您輸入帳戶的密碼

輸入密碼並點擊登入。當您成功登入Exchange Online PowerShell後,PowerShell會顯示類似於下圖的訊息。

接著前往下一個子節點。

使用PowerShell在Office 365全域啟用SMTP驗證

Microsoft預設在Office 365中禁用SMTP驗證,並建議您保持這種設置。然而,如果您希望更改預設配置並在全域範圍內啟用SMTP,請按照以下步驟操作。

1. 首先,檢查您的Office 365租戶中SMTP驗證的當前狀態。要檢查協議在您的Office 365組織中是啟用還是禁用,請運行以下命令。

如果SMTP如預期被禁用,該命令將顯示True。否則,它將顯示False。

在我的顯示中,True表示SMTP在我的Office 365租戶中已被禁用。

Get-TransportConfig | Format-List SmtpClientAuthenticationDisabled

2. 如果你的也被禁用了,並且你希望在你的Office 365租戶中全局啟用它,請執行下面的PowerShell命令。

Set-TransportConfig -SmtpClientAuthenticationDisabled $false

在運行了上面的Set-TransportConfig命令後,如果你再次運行Get-TransportConfig,它會顯示False,這意味著SMTP現在已經為你的Office 365組織中的所有合格郵箱啟用。

要禁用整個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命令,該命令對其進行篩選並僅返回設置為$true(信箱禁用)的SmtpClientAuthenticationDisabled屬性的信箱。

最後,這些信箱導向到ForEach-Object以迭代所有信箱,並使用Set-CASMailbox命令啟用SMTP驗證。

上述範例對於在多個郵箱上啟用SMTP非常有用。然而,如果您只想對少數郵箱執行此任務,您可以直接將郵箱的UPNs(用戶主體名稱)輸入到ForEach-Object命令中,而不需要使用Get-CASMailbox命令。

在下方的範例中,我啟用了具有以下UPNs的三個郵箱的SMTP驗證 – [email protected], [email protected], 和 [email protected]

"[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 管理中心一样,您可以在单个邮箱上启用协议。除此之外,您还可以使用 PowerShell 在整个 Office 365 租户范围内启用或禁用 SMTP 认证。

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

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