在 Exchange Server 中为 POP3 和 IMAP4 客户端配置经过身份验证的 SMTP 设置

按照在 Exchange 服务器上 启用和配置 POP3 和 在 Exchange 服务器上启用和配置 IMAP4 中所述在 Exchange 服务器上启用 和配置 POP3 或 IMAP4 之后,需要为 POP3 和 IMAP4 客户端配置经过身份验证的 SMTP 设置,以便它们可以发送电子邮件。

邮箱服务器上的客户端访问服务中名为“客户端前端 <服务器名称>”的默认接收连接器侦听端口 587 上经过身份验证的 SMTP 客户端提交。 默认情况下,此连接器对内部和外部客户端(已验证)SMTP 连接使用以下设置:

  • SMTP 服务器<ServerFQDN>。 例如,mailbox01.contoso.com

  • TCP 端口:587

  • 加密方法:TLS。 请注意,这是在初始纯文本协议握手后导致加密连接生成的操作 TLS (STARTTLS)。

有关详细信息,请参阅安装过程中创建的默认接收连接器客户端访问协议体系结构

若要配置已验证的 SMTP 设置以供 POP3 和 IMAP4 客户端使用,请按照以下步骤操作:

  1. 在“客户端前端 <服务器名称>”接收连接器上配置 FQDN。

  2. 指定用于加密已验证的 SMTP 客户端连接的证书。

  3. 配置Outlook 网页版 (以前称为 Outlook Web App) ,以在“设置选项邮件>帐户>POP”和“IMAP”中显示经过身份验证的 SMTP 客户端的 SMTP 设置>>。

    Outlook 网页版中的 SMTP 设置。

有关 POP3 和 IMAP4 的详细信息,请参阅 Exchange Server 中的 POP3 和 IMAP4

在开始之前,您需要知道什么?

  • 估计完成时间:5 分钟。

  • 安全套接字层 (SSL) 将由传输层安全性 (TLS) 替代作为用于加密计算机系统之间发送的数据的协议。 它们是如此密切相关,以至于术语"SSL"和"TLS"(不带版本)经常互换使用。 由于此相似性,Exchange 主题、Exchange 管理中心 和 Exchange 命令行管理程序 中对"SSL"的引用通常用来同时涵盖 SSL 和 TLS 协议。 通常,"SSL"仅在提供版本的情况下指的是实际的 SSL 协议(例如,SSL 3.0)。 若要找出您应禁用 SSL 协议并切换到 TLS 的原因,请查看防御 SSL 3.0 漏洞

  • 如果 POP3 或 IMAP4 客户端只能在端口 25 上发送 SMTP 电子邮件,则可以在“客户端前端 <服务器名称>”接收连接器上配置端口 25 以允许客户端发送经过身份验证的 SMTP 电子邮件。 但是,由于端口 25 也配置在“客户端前端 <服务器名称>”接收外部 SMTP 服务器的电子邮件连接器上,因此需要修改用于侦听一个或两个连接器上的端口 25 的本地 IP 地址。 有关详细信息,请参阅接收连接器本地地址绑定

  • 您必须先获得权限,然后才能执行此过程或多个过程。 若要查看所需的权限,请参阅 邮件流权限主题中的"接收连接器"条目。

  • 若要了解本主题中的过程可能适用的键盘快捷键,请参阅 Exchange 管理中心内的键盘快捷键

提示

是否有任何疑问? 请在 Exchange 论坛中寻求帮助。 请访问以下论坛:Exchange ServerExchange OnlineExchange Online Protection

第 1 步:在"客户端前端 <服务器名称>"接收连接器上配置 FQDN。

若要保留默认服务器 FQDN 值(例如,mailbox01.contoso.com),可以跳过这一步。 也可以指定更符合 Internet 命名约定的 FQDN 值或要使用的 TLS 证书。

如果更改 FQDN 值,且希望内部 POP3 或 IMAP4 客户端使用此连接器发送电子邮件,那么新的 FQDN 需要在内部 DNS 中有相应的记录。

无论 FQDN 值是什么,如果希望外部 POP3 或 IMAP4 客户端使用此连接器发送电子邮件,FQDN 需要在公共 DNS 中有相应的记录,且防火墙需要允许 TCP 端口 (587) 连入 Exchange 服务器。

使用 EAC 为已验证的 SMTP 客户端配置 FQDN

  1. 在 EAC 中,转到 “邮件流>接收连接器”。

  2. 在“接收连接器”列表中,选择“ 客户端前端 <服务器名称>”,然后单击“ 编辑 ” (“编辑”图标。) 。

  3. 在随即打开的“Exchange 接收连接器”页中,单击“范围”

  4. 在“FQDN”字段中,输入要用于已验证的 SMTP 客户端连接的 SMTP 服务器 FQDN(例如,mail.contoso.com),再单击“保存”

    客户端前端接收连接器的范围选项卡。

使用 Exchange 命令行管理程序为已验证的 SMTP 客户端配置 FQDN

若要为已验证的 SMTP 客户端配置 FQDN,请使用以下语法:

Get-ReceiveConnector -Identity "Client Frontend*" | Set-ReceiveConnector -Fqdn <FQDN>

此示例配置 FQDN 值 mail.contoso.com。

Get-ReceiveConnector -Identity "Client Frontend*" | Set-ReceiveConnector -Fqdn mail.contoso.com

如何判断这一步生效?

若要验证是否已在“客户端前端 <服务器名称> ”接收连接器上成功使用 FQDN,请使用以下过程之一:

  • 在 EAC 中,转到 “邮件流>接收连接器> ”,选择“ 客户端前端 <服务器名称>”,单击“ 编辑 (编辑”图标。) >范围,然后验证 FQDN 字段中的值。

  • 在 Exchange 命令行管理程序中,运行以下命令:

    Get-ReceiveConnector -Identity "Client Frontend*" | Format-List Name,Fqdn
    

第 2 步:使用 Exchange 命令行管理程序指定用于加密已验证的 SMTP 客户端连接的证书

此证书需要匹配或包含上一步中指定的 FQDN 值,且 POP3 和 SMTP 客户端需要信任此证书,这可能意味着证书是由商业证书颁发机构颁发。 有关详细信息,请参阅 Exchange 服务的证书要求

此外,还需要将证书分配到 Exchange SMTP 服务。 有关详细信息,请参阅将证书分配给Exchange Server服务

若要指定用于已验证的 SMTP 客户端连接的证书,请使用以下语法:

$TLSCert = Get-ExchangeCertificate -Thumbprint <ThumbprintValue>
$TLSCertName = "<I>$($TLSCert.Issuer)<S>$($TLSCert.Subject)"
Get-ReceiveConnector -Identity "Client Frontend*" | Set-ReceiveConnector -TlsCertificateName $TLSCertName

此示例使用具有指纹值 434AC224C8459924B26521298CE8834C514856AB 的证书。

$TLSCert = Get-ExchangeCertificate -Thumbprint 434AC224C8459924B26521298CE8834C514856AB
$TLSCertName = "<I>$($TLSCert.Issuer)<S>$($TLSCert.Subject)"
Get-ReceiveConnector -Identity "Client Frontend*" | Set-ReceiveConnector -TlsCertificateName $TLSCertName

如何判断这一步生效?

若要验证是否已指定用于加密已验证的 SMTP 客户端连接的证书,请按照以下步骤操作:

  1. 在 Exchange 命令行管理程序中运行以下命令:

    Get-ReceiveConnector -Identity "Client Frontend*" | Format-List Name,Fqdn,TlsCertificateName
    
  2. 在 Exchange 命令行管理程序 中运行以下命令:

    Get-ExchangeCertificate | Format-List Thumbprint,Issuer,Subject,CertificateDomains,Services
    
  3. 验证在接收连接器上指定的证书的“Subject”或“CertificateDomains”字段是否包含接收连接器的 Fqdn 值, (完全匹配或通配符匹配) 。

第 3 步:使用 Exchange 命令行管理程序将 Web 上的 Outlook配置为显示已验证的 SMTP 客户端的 SMTP 设置

若要将 Web 上的 Outlook配置为显示已验证的 SMTP 客户端的 SMTP 设置服务器,请运行以下命令:

Get-ReceiveConnector -Identity "Client Frontend*" | Set-ReceiveConnector -AdvertiseClientSettings $true

注意:若要防止 SMTP 设置显示在Outlook 网页版中,请将 值从 $true 更改为 $false

如何判断这一步生效?

若要验证是否已将 Web 上的 Outlook配置为显示已验证的 SMTP 客户端的 SMTP 设置,请按照以下步骤操作:

  1. 在 Outlook 网页版 中打开邮箱,然后单击“设置>选项”。

    Outlook 网页版中的选项菜单位置。

  2. 单击“ 邮件>帐户>POP 和 IMAP ”,并验证是否显示正确的 SMTP 设置。

    Outlook 网页版中的 SMTP 设置。

    注意:如果配置的 SMTP 设置在 Outlook 网页版 中未按预期显示,请运行 命令net stop w3svc /ynet start w3svc重启 Internet Information Services (IIS) 。

如何判断此任务生效?

若要验证是否已在 Exchange 服务器上配置了已验证的 SMTP 设置,请执行以下一个或多个过程:

  • 使用 Test-PopConnectivityTest-ImapConnectivity cmdlet,它们使用经过身份验证的 SMTP 发送测试邮件。 有关详细信息,请参阅 Test-PopConnectivityTest-ImapConnectivity

  • 在“客户端前端 <服务器名称>”接收连接器上启用协议日志记录,将 POP3 或 IMAP4 客户端配置为连接到邮箱,从内部网络连接和/或外部 Internet 连接发送测试邮件,并在协议日志中查看结果。 有关详细信息,请参阅协议日志记录

    注意:无法使用 POP3 或 IMAP4 连接到管理员邮箱。 此限制有意包含在 Exchange 2016 和 Exchange 2019 中,以增强管理员邮箱的安全性。