每个遇到邮件的邮件传输代理都会添加一个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 <myreceiver.email@gmail.com>; Fri, 1 Feb 2019 11:17:45 +0100 (CET)
Run Code Online (Sandbox Code Playgroud)
我觉得我向我回复的陌生人提供了很多个人信息。我如何配置 Postfix,以便它将替换我的 IP 地址,mycomp-mbp.domain_not_set.invalid甚至可能替换我的 ISP 提供商。这里的任何数据都可以提前准备好,不需要一些repalce magic,除了这一行:(ESMTPSA id 71F1D5C551 for <myreceiver.email@gmail.com> 接收器是动态的)和我的服务器的IP地址(有时它使用IPv4,其他时候使用IPv6)。
我编辑/etc/postfix/main.cf以包含触发标头检查的行:
postconf -e "header_checks = pcre:/etc/postfix/header_checks"
Run Code Online (Sandbox Code Playgroud)
所以现在一切都归结为创建正确的指令。
我将不胜感激任何提示。
我正在使用 Postfix 2.3.3 并且从我的服务器发送的邮件总是添加我想删除的无用标头。目前我只使用 PHP mail() 函数来发送邮件。
返回路径: 收到:来自 mss-us4.mail.pw (localhost.localdomain [127.0.0.1]) 通过 mss-us4.mail.pw (Postfix) 与 ESMTP ID EBAF41540011 为了 ; 2009 年 12 月 7 日星期一 16:59:02 +0000 (GMT) 收到:来自 mx2.mail.pw (inbound-us2.mail.pw [70.87.xx]) 通过 mss-us4.mail.pw (Postfix) 和 ESMTP 为了 ; 2009 年 12 月 7 日星期一 16:59:02 +0000 (GMT) 收到:来自mail.domain.org(未知[x.172.xx]) 通过 mx2.mail.pw (Postfix) 与 ESMTP id 6B20F56063B 为了 ; 2009 年 12 月 7 日星期一 16:59:02 +0000 (GMT) 收到:来自 ip1.domain.org (ip1.domain.org [127.0.0.1]) 来自 mail.domain.org (Postfix),ESMTP id 为 1E5B018080AC 为了 …
我有几个运行 LAMP 堆栈的生产服务器。它们每个都有一个本地 Postfix 服务器,它可以从系统和 PHP 中捕获任何邮件,并通过智能主机(SendGrid SMTP 服务)进行中继。
我想为发送到智能主机的每条传出消息添加一个自定义标头。这允许我在 SendGrid 中过滤每个服务器的统计信息。就像是:
X-SMTPAPI: {"category": "www1"}
Run Code Online (Sandbox Code Playgroud)
Postfix 文档提到在 Postfix 'access' 表中使用 PREPEND 操作。因此,我将以下行添加到/etc/postfix/access:
PREPEND X-SMTPAPI: {"category": "www1"}
Run Code Online (Sandbox Code Playgroud)
并access用 postmap散列文件。
但是,我不知道如何使用地图。类似以下内容不起作用:
smtp_client_restrictions = check_client_access hash:/etc/postfix/access
Run Code Online (Sandbox Code Playgroud)
我如何让 Postfix 在这个标题前面加上?
我有点怀疑我的新邮件服务器可能没有正确配置,我想知道我是否在某个地方犯了错误。或者也许这只是雅虎用他们的邮件服务做事的方式。
从我的邮件服务器到 Yahoo 邮件:
Received: from 127.0.0.1 (EHLO hostname.example.com) (x.x.x.x)
by mta1199.mail.gq1.yahoo.com with SMTP; Tue, 09 Jul 2013 13:53:55 -0700
Received: from me.atwork (c-x-x-x-x.comcast.net [x.x.x.x])
by hostname.example.com (Postfix) with ESMTPSA id 66DB11B006B4
for <example@yahoo.com>; Tue, 9 Jul 2013 16:53:54 -0400 (EDT)
Run Code Online (Sandbox Code Playgroud)
雅虎测试的第一行让我感到困惑。为什么 Yahoo 不像下面的 gmail 那样知道我的服务器名称?它似乎认为它是 127.0.0.1。那是因为雅虎没有在 DNS 中查找我吗?
收到:来自 127.0.0.1...
我的 gmail 测试是正确的。
从 gmail 到我的邮件服务器:
Received: from hostname.example.com (hostname.example.com. [x.x.x.x])
by mx.google.com with ESMTP id n7si14797309oep.56.2013.07.09.13.55.25
for <example@gmail.com>;
Tue, 09 Jul 2013 13:55:25 -0700 (PDT)
Received: from me.atwork …Run Code Online (Sandbox Code Playgroud) 我从我的服务器向我的 gmail 帐户发送了一封电子邮件,这是其中一个标题(部分编辑):
Received: from cpvds3xx.xxx.com (dev1.xxx.com. [209.51.132.xxx])
by mx.google.com with ESMTPS id b71si12090017yhf.148.2014.03.06.12.09.35
for <xxx@gmail.com>
(version=TLSv1 cipher=RC4-SHA bits=128/128);
Thu, 06 Mar 2014 12:09:35 -0800 (PST)
Run Code Online (Sandbox Code Playgroud)
我想知道cpvds3xx.xxx.com从哪里来。我知道这是一个主机名,但该信息的来源是什么?exim 会寄吗?它是否来自我的 DNS 区域文件?rDNS 入口?或者还有别的东西吗?
背景:cpvds3xx.xxx.com 是虚拟服务器的主机名,dev1.xxx.com 是该服务器上托管的网站之一。WHM + cPanel + exim + LAMP
还有一个更实际的问题,我如何将该名称与我的网站名称 (dev1.xxx.com) 对齐?