我已经使用 Exim 很长时间了。但是之前从未设置过 TLS。
我认为我已经配置好了,但需要测试它是否可以使用 TLS 向邮件服务器发送出站电子邮件。服务器不接收入站电子邮件。
作为测试,作为邮件服务器(不是客户端),我如何通过 TLS 连接向 Gmail 发送电子邮件,以便绑定到[电子邮件保护]被认证为服务器,而不是用户。
我定义了一个路由器,如下:
GMAIL_ROUTER:
driver = manualroute
domains = gmail.com
transport = TLS_SMTP
route_list = * smtp.gmail.com::587
no_more
以及如下传输:
TLS_SMTP:
driver = smtp
hosts_require_tls = *
但当它连接时,我得到:
2016-04-05 09:52:28 1anU0O-0004S4-Op ** [email protected] R=GMAIL_ROUTER T=TLS_SMTP: SMTP error from remote mail server after MAIL FROM:<[email protected]> SIZE=1349: host gmail-smtp-msa.l.google.com [74.125.28.109]: 530-5.5.1 Authentication Required. Learn more at\n530 5.5.1 https://support.google.com/mail/answer/14257 w62sm48080410pfa.79 - gsmtp
该错误似乎表明我需要以用户身份进行身份验证,但这是一个邮件服务器,只是想向 gmail.com 用户发送电子邮件。
是否有一种配置允许邮件服务器在没有客户端帐户的情况下使用 TLS 进行身份验证?
主要目标是我们将很快将所有电子邮件智能托管到 O365,但我尚未设置好进行测试。
答案1
如果可用且您未禁用 TLS,Exim 将使用 TLS 进行传出连接。您无需为传出连接配置证书。这适用于端口 25 和 587。您可以配置要避免使用 TLS 的主机。传入流量上的 TLS 需要证书和一些设置。
您正在连接提交端口 (587),该端口用于客户端连接,通常需要身份验证。它允许将服务器用作中继(身份验证后)。
如果您通过 SMTP 端口 (25) 进行连接,则可能不会遇到此问题。但是,通过 SMTP 端口进行连接将导致其他反垃圾邮件问题,并且您将无法使用 Gmail 作为中继。
您可以在 Exim 中配置用户 ID 和密码。有两个密码文件,一个用于传入连接,另一个用于传出连接。您需要一个有效的 Gmail 帐户,并且您的传出流量可能会受到限制。在文件中配置传出流量的帐户passwd.client
。这通常由传输处理remote_smtp_smarthost
。您需要将身份验证部分添加到传输中,尽管使用常规智能主机配置可能更简单。