![在 Exchange 2016 上使用 SMTP 启用 TLS](https://linux22.com/image/714515/%E5%9C%A8%20Exchange%202016%20%E4%B8%8A%E4%BD%BF%E7%94%A8%20SMTP%20%E5%90%AF%E7%94%A8%20TLS.png)
我有一台带有自签名证书的 Exchange 2016 服务器,问题是当我向 Gmail 发送邮件时,它会变成垃圾邮件并显示“邮件未加密”。我已从 Exchange 证书向导将证书分配给 SMTP。我发送的邮件来自 Outlook Web App。
输出get-SendConnector | fl
addressSpaces : {SMTP:*;1}
AuthenticationCredential :
CloudServicesMailEnabled : False
Comment :
ConnectedDomains : {}
ConnectionInactivityTimeOut : 00:10:00
ConnectorType : Default
DNSRoutingEnabled : True
DomainSecureEnabled : False
Enabled : True
ErrorPolicies : Default
ForceHELO : False
Fqdn : exchange.*******.com
FrontendProxyEnabled : False
HomeMTA : Microsoft MTA
HomeMtaServerId : EXCHANGE
Identity : *******
IgnoreSTARTTLS : False
IsScopedConnector : False
IsSmtpConnector : True
MaxMessageSize : 35 MB (36,700,160 bytes)
Name : ******
Port : 25
ProtocolLoggingLevel : None
Region : NotSpecified
RequireOorg : False
RequireTLS : False
SmartHostAuthMechanism : None
SmartHosts : {}
SmartHostsString :
SmtpMaxMessagesPerConnection : 20
SourceIPAddress : 0.0.0.0
SourceRoutingGroup : Exchange Routing Group (DWBGZMFD01QNBJR)
SourceTransportServers : {EXCHANGE}
TlsAuthLevel :
TlsCertificateName :
TlsDomain :
UseExternalDNSServersEnabled : False
答案1
以下假设您的 Exchange 服务器正在将电子邮件发送到第三方系统。如果您的 Exchange 服务器正在将电子邮件转发到第三方服务器(例如反垃圾邮件/防病毒)环境,则需要在那里配置 StartTLS。
您需要在 Exchange 环境中配置 STARTTLS。要解决此问题,您应该执行以下操作:
1.) 检查您的 Exchange Server 上是否启用了 STARTTLS(请参阅这里了解操作方法)
2.) 检查您的 Exchange 服务器是否绑定了有效的 SSL 证书(请参阅这里请参阅操作方法)。顺便说一下,分配证书的最佳选择是通过 powershell,因为我发现在分配证书时 GUI 通常不能按预期工作。
3.)检查您是否将IgnoreSTARTTLS设置为true(应该为false):
get-SendConnector -identity [send connector name] | set-SendConnector -IgnoreSTARTTLS: $false
之后重新启动 Microsoft Exchange 传输服务。
答案2
问题不在于 Exchange 服务器,而是 Cisco ASA 中的 ESMTP 检查功能(默认启用)丢弃了数据包。我已禁用 ESMTP 检查功能,现在允许启用 TLS 的电子邮件。