在 Exchange Server 中重新創建默認接收連接器
Exchange Server 2013/2016/2019 上有 5 個默認的 Exchange Server 接收連接器。這些接收連接器是在您安裝 Exchange Server 時自動創建的。有時,您必須重新創建默認接收連接器,因為您調整了某些內容,並且郵件流不再工作。在本文中,您將了解如何在 Exchange Server 中重新創建默認接收連接器。
Exchange 服務器使用接收連接器來控制來自以下位置的入站 SMTP 連接:
- Exchange 組織外部的郵件服務器。
- 本地 Exchange 服務器或遠程 Exchange 服務器上的傳輸管道中的服務。
- 需要使用經過身份驗證的 SMTP 發送郵件的電子郵件客戶端。
了解有關 Exchange Server 接收連接器的更多信息:
更多閱讀:在網絡適配器上啟用接收端縮放 (RSS)
- Exchange Server 接收連接器日誌記錄
- 在 Exchange Server 中配置匿名 SMTP 中繼
- 將接收連接器複製到另一個 Exchange Server
- 將遠程 IP 地址導入到 Exchange 接收連接器
- 從 Exchange 接收連接器導出遠程 IP 地址
讓我們看看 Exchange Server 中的接收連接器。登錄 Exchange 管理中心並導航至郵件流 > 接收連接器。
Exchange Server 上的 5 個默認 Exchange Server 接收連接器是:
- 客戶端前端
- 客戶端代理
- 預設
- 默認前端
- 出站代理前端
重新創建默認接收連接器
若要在 Exchange 管理中心重新創建默認接收連接器,請瀏覽以下屏幕並確保為每個接收連接器配置相同的配置。
客戶端前端接收連接器
要重新創建客戶端前端接收連接器,請執行以下配置:
一般的
安全
範圍界定
客戶端代理接收連接器
要重新創建客戶端代理接收連接器,請執行以下配置:
一般的
安全
範圍界定
默認接收連接器
要重新創建默認接收連接器,請執行以下配置:
一般的
安全
範圍界定
默認前端接收連接器
要重新創建默認前端接收連接器,請執行以下配置:
一般的
安全
範圍界定
出站代理前端接收連接器
要重新創建出站代理前端接收連接器,請執行以下配置:
一般的
安全
範圍界定
在下一步中,我們將展示如何使用 PowerShell 腳本重新創建默認接收連接器。
重新創建默認接收連接器 PowerShell 腳本
要使用 PowerShell 腳本在 Exchange Server 中重新創建默認接收連接器,請按照以下步驟操作。
步驟 1. 下載 Set-ReceiveConnectors PowerShell 腳本
下載 Set-ReceiveConnectors.ps1 PowerShell 腳本並將其放置在 Exchange Server 上C:腳本文件夾。如果您沒有腳本文件夾,請創建一個。
確保文件未被阻止,以防止運行腳本時出現錯誤。請閱讀文章運行 PowerShell 腳本時出現未數字簽名錯誤來了解更多信息。
另一種選擇是將以下代碼複製並粘貼到記事本中。給它起個名字設置-ReceiveConnectors.ps1並將其放置在C:腳本文件夾。
<#
.SYNOPSIS
Set-ReceiveConnectors.ps1
.DESCRIPTION
Recreate the default Receive Connectors on the Exchange Server.
.LINK
www.alitajran.com/recreate-default-receive-connectors-exchange-server
.NOTES
Written by: ALI TAJRAN
Website: www.alitajran.com
LinkedIn: linkedin.com/in/alitajran
.CHANGELOG
V1.00, 09/25/2023 - Initial version
V1.10, 10/15/2024 - Added parameter for server name
#>
param (
[Parameter(Mandatory = $true)]
[string]$ServerName
)
# Define IP Range
$range = "0.0.0.0-255.255.255.255", "::-ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"
# Check if the server with the specified name exists
$targetServer = Get-ExchangeServer -Identity $ServerName -ErrorAction SilentlyContinue
if ($targetServer) {
# Define connector parameters for splatting
$clientProxyParams = @{
Name = "Client Proxy $ServerName"
Bindings = "0.0.0.0:465", "[::]:465"
AuthMechanism = "Tls", "Integrated", "BasicAuth", "BasicAuthRequireTLS", "ExchangeServer"
RemoteIPRanges = $range
TransportRole = "HubTransport"
PermissionGroups = "ExchangeUsers", "ExchangeServers"
MaxMessageSize = "35MB"
MessageRateLimit = 5
MessageRateSource = "User"
EnableAuthGSSAPI = $true
Server = $ServerName
}
$defaultFrontendParams = @{
Name = "Default Frontend $ServerName"
Bindings = "0.0.0.0:25", "[::]:25"
AuthMechanism = "Tls", "Integrated", "BasicAuth", "BasicAuthRequireTLS", "ExchangeServer"
RemoteIPRanges = $range
TransportRole = "FrontendTransport"
PermissionGroups = "AnonymousUsers", "ExchangeServers", "ExchangeLegacyServers"
MaxMessageSize = "36MB"
DomainSecureEnabled = $true
ProtocolLoggingLevel = "Verbose"
Server = $ServerName
}
$outboundProxyFrontendParams = @{
Name = "Outbound Proxy Frontend $ServerName"
Bindings = "0.0.0.0:717", "[::]:717"
AuthMechanism = "Tls", "Integrated", "BasicAuth", "BasicAuthRequireTLS", "ExchangeServer"
RemoteIPRanges = $range
TransportRole = "FrontendTransport"
PermissionGroups = "ExchangeServers"
MaxMessageSize = "36MB"
DomainSecureEnabled = $true
ProtocolLoggingLevel = "Verbose"
Server = $ServerName
}
$clientFrontendParams = @{
Name = "Client Frontend $ServerName"
Bindings = "0.0.0.0:587", "[::]:587"
AuthMechanism = "Tls", "Integrated", "BasicAuth", "BasicAuthRequireTLS"
RemoteIPRanges = $range
TransportRole = "FrontendTransport"
PermissionGroups = "ExchangeUsers"
MaxMessageSize = "35MB"
MessageRateLimit = 5
MessageRateSource = "User"
EnableAuthGSSAPI = $true
Server = $ServerName
}
$defaultParams = @{
Name = "Default $ServerName"
Bindings = "[::]:2525", "0.0.0.0:2525"
AuthMechanism = "Tls", "Integrated", "BasicAuth", "BasicAuthRequireTLS", "ExchangeServer"
RemoteIPRanges = $range
TransportRole = "HubTransport"
PermissionGroups = "ExchangeUsers", "ExchangeServers", "ExchangeLegacyServers"
MaxMessageSize = "35MB"
MaxInboundConnectionPerSource = "Unlimited"
MaxInboundConnectionPercentagePerSource = 100
MaxRecipientsPerMessage = 5000
SizeEnabled = "EnabledWithoutValue"
Server = $ServerName
}
# Check and create connectors if they don't exist
$connectors = @{
"Client Proxy" = $clientProxyParams
"Default Frontend" = $defaultFrontendParams
"Outbound Proxy Frontend" = $outboundProxyFrontendParams
"Client Frontend" = $clientFrontendParams
"Default" = $defaultParams
}
foreach ($connectorName in $connectors.Keys) {
$connectorParams = $connectors[$connectorName]
if (!(Get-ReceiveConnector | Where-Object { $_.Name -eq $connectorParams.Name -and $_.Server -eq $ServerName })) {
$null = New-ReceiveConnector @connectorParams
Write-Host "$connectorName Connector created successfully." -ForegroundColor Green
}
else {
Write-Host "$connectorName Connector already exists." -ForegroundColor Yellow
}
}
}
else {
Write-Host "Server '$ServerName' not found. Please provide a valid Exchange Server name." -ForegroundColor Red
}
步驟 2. 刪除默認接收連接器
刪除要重新創建的默認接收連接器非常重要。假設您只想重新創建其中之一,然後僅刪除該特定的默認接收連接器。
在我們的示例中,我們將刪除所有默認接收連接器,因為我們想重新創建它們。
步驟 3. 運行 Set-ReceiveConnector PowerShell 腳本
以管理員身份啟動 Exchange 命令行管理程序並運行 Set-ReceiveConnectors.ps1 PowerShell 腳本以重新創建默認接收連接器。
C:scripts.Set-ReceiveConnectors.ps1 -ServerName "EX01-2019"
該腳本將顯示是否:
- 如果默認接收連接器已存在,它將移至下一個默認接收連接器。
- 如果默認接收連接器不存在,它將創建一個具有正確設置的新默認接收連接器。
- 如果設置了錯誤的 Exchange Server 名稱,腳本將顯示您需要輸入有效的 Exchange Server 名稱。
Client Proxy Connector created successfully.
Default Frontend Connector created successfully.
Outbound Proxy Frontend Connector created successfully.
Client Frontend Connector created successfully.
Default Connector created successfully.
步驟 4. 驗證默認接收連接器
驗證是否已在 Exchange Server 中成功創建默認接收連接器。
就是這樣!
結論
您了解瞭如何在 Exchange Server 中重新創建默認接收連接器。如果入站郵件流出現問題或對默認 Exchange Server 接收連接器進行了更改並希望將其設置回原始配置,請重新創建它們。在 Exchange 管理中心或使用 PowerShell 腳本重新創建接收連接器。
您喜歡這篇文章嗎?您可能還喜歡使用 Exchange SMTP 中繼查找 IP 地址。不要忘記關注我們並分享這篇文章。
