Postfix 作为 gmail 的电子邮件转发器,SPF 问题

Lau*_*ent 3 postfix spf forwarding

我正在尝试将 postfix 配置为转发到 gmail。我已经成功地为我托管的域配置了虚拟别名,并且我想重定向,但是 Gmail SPF 验证由于这个原因而失败:

Delivered-To: realrcpt@gmail.com
Received: by 10.25.28.147 with SMTP id c141csp88155lfc;
    Sat, 11 Oct 2014 09:08:40 -0700 (PDT)
X-Received: by 10.224.70.83 with SMTP id c19mr21300511qaj.66.1413043720159;
    Sat, 11 Oct 2014 09:08:40 -0700 (PDT)
Return-Path: <realsender@gmail.com>
Received: from mail1.mycompany.com (mail1.mycompany.com. [2604:xxxxxxx:b5c8])
    by mx.google.com with ESMTP id d63si16549011qgd.80.2014.10.11.09.08.39
    for <realrcpt@gmail.com>;
    Sat, 11 Oct 2014 09:08:40 -0700 (PDT)
Received-SPF: softfail (google.com: domain of transitioning realsender@gmail.com does not designate 2604:xxxxxxx:b5c8 as permitted sender) client-ip=2604:180:2:2cf::b5c
Run Code Online (Sandbox Code Playgroud)

我认为问题在于返回路径。当与另一个主机(例如 namecheap)进行电子邮件转发时,会自动重写为:

Return-Path: <SRS0+BJjl=7C=gmail.com=realsender@eforward3e.registrar-servers.com>
Run Code Online (Sandbox Code Playgroud)

有没有办法在 postfix 中执行这样的重写?谢谢

Lau*_*ent 6

我按照本指南使用 postrsd 修复了这个问题:https : //www.mind-it.info/forward-postfix-spf-srs/

简而言之:

下载并编译软件

cd ~
wget https://github.com/roehling/postsrsd/archive/master.zip
unzip master
cd postsrsd-master/
make
sudo make install
Run Code Online (Sandbox Code Playgroud)

为postsrsd添加postfix配置参数

sudo postconf -e "sender_canonical_maps = tcp:127.0.0.1:10001"
sudo postconf -e "sender_canonical_classes = envelope_sender"
sudo postconf -e "recipient_canonical_maps = tcp:127.0.0.1:10002"
sudo postconf -e "recipient_canonical_classes = envelope_recipient"
Run Code Online (Sandbox Code Playgroud)

将 SRS 守护进程添加到启动

sudo chkconfig postsrsd on
# Start SRS daemon
sudo service postsrsd restart
#Reload postfix
sudo service postfix reload
Run Code Online (Sandbox Code Playgroud)

  • 虽然这在理论上可以回答这个问题,但 [最好](​​http://meta.stackoverflow.com/q/8259) 在此处包含答案的基本部分,并提供链接以供参考。 (4认同)