如何在 Postfix 中修改接收头

如何在 Postfix 中修改接收头

每个遇到邮件的邮件传输代理都会添加一个Receive标头,以指示邮件到达的位置、时间和方式,以及有关接收者的一些数据。当我从 Mac Mail.app MUA 发送电子邮件时,我的 Postix MTA 会添加:

Received: from mycomp-mbp.domain_not_set.invalid (cpe-MY-PERSONAL-IP.dynamic.ISP.net [MY-PERSONAL-IP]) by mydomain.com (Postfix) with ESMTPSA id 71F1D5C551 for <[email protected]>; Fri, 1 Feb 2019 11:17:45 +0100 (CET)

我感觉我向陌生人透露了太多个人信息。我该如何配置 Postfix,以便它替换我的 IP 地址,mycomp-mbp.domain_not_set.invalid甚至替换我的 ISP 提供商。除了这一行之外,这里的任何数据都可以提前准备好,不需要一些替换魔法:( 接收器是动态的)和我的服务器的 IP 地址(有时它使用 IPv4,有时使用 IPv6)。ESMTPSA id 71F1D5C551 for <[email protected]>

我编辑了/etc/postfix/main.cf包含触发标题检查的行:

postconf -e "header_checks = pcre:/etc/postfix/header_checks"

所以现在一切都归结为创建正确的指令。

我将非常感激您的任何建议。

答案1

例子header_checks

/^Received:.*with ESMTPSA/      IGNORE
/^X-Originating-IP:/            IGNORE
/^X-Mailer:/                    IGNORE
/^Mime-Version:/                IGNORE
/^User-Agent:/                  IGNORE

删除所有路由和 MUA 信息。

答案2

sudo nano /etc/postfix/main.cf
   header_checks = regexp:/etc/postfix/header_checks

sudo nano /etc/postfix/header_checks
   /^Received:(.*?)with ESMTPSA(.*?)/ REPLACE Received: from example.com (example.com [1.1.1.1]) by mail.example.com (Postfix) with ESMTPSA$2
   /^User-Agent:/ IGNORE

sudo service postfix restart && service postfix status
  1. 您需要更改 postfixmain.cf文件并添加该 header_checks行。
  2. 您需要创建header_checks文件并添加 2 行。第一行将您的 IP 替换为来自您服务器的 IP。第二行删除 User-Agent(如果您使用 Thunderbird 或其他程序)。最好的方法是从您的服务器发送一封带有代码的电子邮件,看看标题是什么样子,然后在上面的正则表达式中使用它。
  3. 重新启动 postfix。

最好实际发送Received ESMTPSA您想要的标题,而不是删除它,因为您可能会被标记为垃圾邮件,因为这个标题实际上是邮件标准所要求的。

这只会影响接收电子邮件的邮件服务器,您的日志仍会保留实际发件人 IP。如果您检查,/var/log/mail.log您将看到类似这样的记录。或类似这样的日志postfix/submission/smtpd[25725]: 5EBA4BF4CA: client=unknown[2.2.2.2], sasl_method=PLAIN, [email protected]postfix/cleanup[25733]: 5EBA4BF4CA: replace: header Received: from [10.10.10.10] (unknown [2.2.2.2])??by mail...

相关内容