我在 Amazon EC2 上运行一个 Web 应用程序,由于 AWS 和反向 DNS 的缺陷,我将电子邮件发送到不同提供商的运行 Postfix 的专用 SMTP 服务器。
不幸的是,系统将原始 EC2 信息添加到标头中,而一些 ISP 将所有 EC2 IP 范围列入黑名单。有没有办法让 Postfix 忽略或删除 EC2 信息?我认为这将有助于提高可交付性。我在下面附上了一个示例标头。谢谢!
Received: from mail.smtp-server.com (localhost [127.0.0.1])
by mail.smtp-server.com (Postfix) with ESMTP id 7EB305
for <[email protected]>; Thu, 24 Sep 2009 16:11:37 +0000 (UTC)
Received: from www.EC2domain.com (ec2-IPaddress.compute-1.amazonaws.com [EC2 Static IP address])
by mail.smtp-server.com (Postfix) with ESMTPSA id 56A865
for <[email protected]>; Thu, 24 Sep 2009 16:11:37 +0000 (UTC)
答案1
一个好方法是使用后缀header_checks:
- 如果您的 postfix 尚未编译,请安装或编译 postfix-pcre 以将 Perl 兼容的正则表达式评估纳入 Postfix。
添加信息main.cf:
header_checks = pcre:/etc/postfix/header_checks
将以下内容添加到 /etc/postfix/header_checks 中:
/^(已收到:.*IP\.ADD\.RE\.SS.*)/ 忽略
IGNORE 行将告诉它从电子邮件标题中删除该行。我还没有测试过这个正则表达式,所以你可能想用 WARN 来测试。你也可以使用 REPLACE,如下所示这里。