如何验证从自己的服务器到谷歌中继 SMTP 服务的电子邮件是否使用 TLS

run*_*ace 5 email postfix

我有一个只发送邮件的服务器,如下所示:

django/python --> postfix -----> smtp-relay.gmail.com -----> destination

当我打开收到电子邮件的 gmail 客户端时,并检查它说的详细信息: security: Standard encryption (TLS) Learn more

现在我怀疑它来自smtp-relay.gmail.com--> gmail 目的地的说法是 TLS,但我担心我正在以纯文本形式从 postfix 发送电子邮件到smtp-relay.gmail.com.

我的后缀配置文件有: relayhost = smtp-relay.gmail.com:587

但是,如果我将其设置为: relayhost = smtp-relay.gmail.com:25

它也有效。

这是我遵循的教程

如果我将 django 设置设置为EMAIL_USE_TLS = True并尝试发送电子邮件,它会失败并显示:

 File "/usr/lib/python3.8/smtplib.py", line 755, in starttls
    raise SMTPNotSupportedError(
smtplib.SMTPNotSupportedError: STARTTLS extension not supported by server.
Run Code Online (Sandbox Code Playgroud)

这让我觉得它没有使用 TLS,但我不知道如何验证。

anx*_*anx 10

您想查看Received:收到邮件时的标题,即 Google 跟踪您的邮件从 Postfix 服务器传输到第一个 Google 服务器的行。该标头应将协议指定为 ESMTP S -(第二个)S表示安全通道。

将有另一个Received:标头,您的 Postfix 服务器会在其中记录从 django/python 收到的消息,但是如果保证该提交永远不会离开您的机器(从::1to 的连接::1),那么该连接是否采用了任何传输安全性应该是无关紧要的.

通常情况下,此类跟踪标头还包含有关特定协议版本和使用的密码的信息(谷歌似乎大部分时间都这样做)。

如果您知道您的邮件服务器不应该发送未加密的邮件 - 因为您将邮件发送给现代提供商,或者您将所有邮件转发给 Google - 考虑smtp_tls_security_level在您的 postfix 配置中强制执行。查看一条消息只会告诉您,在此特定情况下,一切正常。您可能不希望它在未来默默地回退到未加密的提交。