配置 exim4 以使用 Microsoft Exchange 作为智能主机

Chr*_*iet 5 exchange email-server exim exchange-2010 gnutls

我的公司最近设置了一个 Active Directory 驱动的 Microsoft Exchange 环境来整合外发邮件。我们确实有一组临时服务器,它们现在应该使用我们的 MSEXCHG 作为外发邮件的智能主机。

这些服务器位于 DMZ 中,这就是为什么在对 Exchange 2010 智能主机进行身份验证中获得投票的解决方案不是替代方案,因为我们不能允许 DMZ 中的服务器随意通过我们的 Exchange 服务器发送邮件。

我们在 MSEXCHG 中所做的事情:

  • 添加用户 (stagingserver@contoso.com)

我们做过的事情exim4 (8)

  • 使用update-exim4.conf (8)(cf exim4_files (5)) 我们将 exim 配置为exchange.contoso.com:587用作智能主机。
  • 在passwd.client( exim4_files (5))我已经添加了以下行:exchange.contoso.com:stagingserver@activedirectory.contoso.com:secret123

使用上述配置启动 exim 后,我在mainlog 中收到以下两个 TLS 错误:

  • TLS error on connection to ex.contoso.com [192.168.1.8] (recv): A TLS packet with unexpected length was received.
  • TLS error on connection to ex.contoso.com [192.168.1.8] (send): The specified session has been invalidated for some reason.

然后我们的 MSEXCHG 拒绝发送邮件并显示以下(最终)日志条目:

** kiewiet@contoso.com R=smarthost T=remote_smtp_smarthost: SMTP error from remote mail server after MAIL FROM:<root@contoso-stage.com> SIZE=1538: host ex.contoso.com [192.168.1.8]: 530 5.7.1 Client was not authenticated

我尝试过的其他事情:

所以,强制性问题:我们怎样才能让 exim 使用我们的 MSEXCHG 环境作为智能主机?

Chr*_*iet 1

我们的问题与我们的设置相当相关。我们有多个 Exchange Server 与充当 AP 的负载平衡器并行运行。LB 配置错误,导致其忽略提供任何身份验证方法NTLM,甚至GSSAPI在成功STARTTLS握手后也是如此。

swaks 通过jetmore.org(强烈推荐这个工具)进行的深入测试揭示了这一点。