我的(外部)网络服务器已安装 postfix。我将其用作私人电子邮件的 SMTP 服务器。我目前正在调查一个问题,即 hotmail/outlook/live 将我发送的电子邮件视为垃圾邮件,即使所有设置都正确(DKIM、SPF、DMARC)。
为了调查,我检查了 Outlook 上的电子邮件消息头。令我惊讶(和沮丧)的是,我看到了很多私人信息:
Received: from [192.168.1.100] (xxx-xxx-xxx-xx.cable.dynamic.v4.ziggo.nl [xxx.xxx.xxx.xx])
(Authenticated sender: <my login name>)
by <my mail server> (Postfix) with ESMTPSA id E40C25F8CA
for <[email protected]>; Tue, 12 Mar 2024 09:00:32 +0100 (CET)
首先,它发送了我的 LAN 地址 (192.168.1.100)。我甚至不知道如何它知道我的 LAN 地址(因为邮件服务器和我的 PC 位于完全不同的网络上)。它还会发送我的 WAN 地址,但最糟糕的是,它还会发送我的 postfix 登录名。
为什么 postfix 会发送所有这些信息?还是我的邮件客户端 (Thunderbird) 添加了这些信息?
我怎样才能阻止 Postfix 发送所有这些内容?
答案1
请注意,IP 地址出现在方括号中。
如果用作 HELO 名称,则需要将 IP 地址放在方括号中,如中所述RFC2821 4.3.1.因此,这表明你的 MUA(雷鸟或其他)在 (E)SMTP 会话期间使用 IP 地址作为 HELO/EHLO 名称。
还要注意,Postfix 随后会记录它看到的连接的 IP 地址(NAT 之后的公共 IP)。
(Authenticated sender: <my login name>)
您可以使用以下方式隐藏用于 SASL 身份验证的用户名smtpd_sasl_authenticated_header:
smtpd_sasl_authenticated_header = no
默认情况下它是禁用的;邮件头中出现此信息意味着有人明确启用了此设置。
答案2
为什么 Postfix 要发送所有这些信息?
这是必需的 发送你的 IP 地址。在我看来,包含您的 SMTP AUTH 用户名有点多余 - 但对于分析很有用。另一方面:
- 用户名不是秘密
- SMTP 不会隐藏发件地址(尽管伪造发件地址曾经很容易)。对于任何这样做的消息系统,我都会非常警惕
答案3
Postfix 守护进程/进程将自身绑定到网络接口的 IP,并在处理邮件时使用该 IP。它还会查找您的公共 IP,以便接收邮件服务器知道邮件来自哪个 IP。这只是默认行为,是设计使然