我有一个服务器,它只发送邮件,如下所示:
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.这让我觉得它不使用TLS,但我不知道如何验证。
发布于 2021-08-05 19:07:29
当您收到邮件时,您需要查看邮件的Received:头,这一行将您的邮件从Postfix服务器传输到第一个Google。该报头应该将协议指定为ESMTPS -(第二)S发出安全信道的信号。
还会有另一个Received:头,您的后缀服务器会注意到从django/python收到消息,但是如果该提交保证永远不会离开您的机器(从::1到::1的连接),那么这个连接是否使用了任何传输安全性就不太重要了。
通常情况下,这样的跟踪头还包含有关特定协议版本和使用的密码的信息(Google在大多数情况下似乎都是这样做的)。
如果您知道您的邮件服务器不应该以未加密的方式发送邮件--因为您只将邮件发送给现代提供商,或者您正在将所有邮件转发给谷歌--请考虑在后缀配置中通过smtp_tls_security_level执行此操作。查看一条消息只会告诉您,在这个特定的实例中,一切都正常。您可能不希望它在将来悄悄地退回到未加密的提交中。
https://serverfault.com/questions/1073674
复制相似问题