Hello Folks!
我遇到麻烦,希望你能帮忙!
我一直在使用 VPS(ubuntu 14.04)和 exim4 / dovecot 多年没有问题。 一个常见用途是从gmx.de地址(到我的域中的别名)接收邮件,并通过别名设置将其分发到某些web.de地址以及我的域中的地址。
它应该是:ORIGIN - > ALIAS @ MYDOMAIN - > (DEST1,DEST2,......)
从昨天起,这个"别名转发"不再起作用了。这是典型的exim日志:
2016-05-25 18:12:59 1b5bQZ-0000KU-Kl <= ORIGIN@gmx.de H=mout.gmx.net [212.227.15.18] P=esmtp S=51309 id=ID@mail.gmx.com
2016-05-25 18:12:59 1b5bQZ-0000KU-Kl ** DEST1@web.de <ALIAS@MYDOMAIN.de> R=dnslookup T=remote_smtp: SMTP error from remote mail server after MAIL FROM:<ORIGIN@gmx.de> SIZE=53021: host mx-ha03.web.de [212.227.15.17]: 550-Requested action not taken: mailbox unavailable 550-Reject due to SPF policy. 550-The originating IP of the message is not permitted by the domain owner.
2016-05-25 18:12:59 1b5bQZ-0000KU-Kl ** DEST2@web.de <ALIAS@MYDOMAIN.de> R=dnslookup T=remote_smtp: SMTP error from remote mail server after MAIL FROM:<ORIGIN@gmx.de> SIZE=53021: host mx-ha03.web.de [212.227.15.17]: 550-Requested action not taken: mailbox unavailable 550-Reject due to SPF policy. 550-The originating IP of the message is not permitted by the domain owner.
2016-05-25 18:12:59 1b5bQZ-0000KU-Kl ** DEST3@web.de <ALIAS@MYDOMAIN.de> R=dnslookup T=remote_smtp: SMTP error from remote mail server after MAIL FROM:<ORIGIN@gmx.de> SIZE=53021: host mx-ha03.web.de [212.227.15.17]: 550-Requested action not taken: mailbox unavailable 550-Reject due to SPF policy. 550-The originating IP of the message is not permitted by the domain owner.
2016-05-25 18:13:00 1b5bQZ-0000Kl-Ud <= <> R=1b5bQZ-0000KU-Kl U=Debian-exim P=local S=53469
2016-05-25 18:13:00 1b5bQZ-0000KU-Kl Completed
如果我使用web.de地址作为ORIGIN进行测试,同样的情况也会发生,而来自MYDOMAIN的gmail地址或其他地址就像ORIGIN一样正常。
重要是它似乎只是别名问题。我可以从例如发送邮件web.de到ADDRESS @ MYDOMAIN,反之亦然。
我的MX指向正确的位置(显然,因为它过去常常工作了很长时间)而且我已经检查过我的IP和DOMAIN不在web.de/gmx.de.的垃圾邮件中。
非常欢迎任何建议!!
最好,Bb
答案 0 :(得分:4)
GMX似乎已于昨天(2016-05-25)切换到严格的SPF检查,这打破了电子邮件转发。 这是SPF的一个长期存在的问题,我不知道GMX是否意识到他们通过这个愚蠢的决定拒绝了大量合法的电子邮件。
答案 1 :(得分:2)
正如Hans-Martin指出的那样,SPF按照here的解释打破了电子邮件转发。然而,这根本不是一个愚蠢的决定,因为它基本上是唯一能够有效消除垃圾邮件的东西。
解决此问题需要您配置SRS(发件人重写方案)。
想象一下,您的服务器收到alice@example.com要转发的邮件。如果example.com使用发件人策略框架来指示所有合法邮件都来自其服务器,则转发的邮件可能会被退回,因为您无权代表example.com发送邮件。解决方案是您将地址映射到您自己的域,例如SRS0+xxxx=yy=example.com=alice@yourdomain.org(转发SRS)。如果邮件稍后退回并且通知到达,您可以从重写的邮件中提取原始地址(反向SRS)并将通知返回给发件人。您可能会注意到反向SRS可能会被滥用以将您的服务器变为开放中继。因此,xxxx和yy是加密签名和时间戳。如果签名不匹配,则伪造地址并丢弃邮件。
在Debian 8上设置postrsd(在Ubuntu上应该非常相似):
# Dependencies.
sudo apt-get install unzip cmake
# Download and extract source code from GitHub.
cd /tmp
curl -L -o postsrsd.zip https://github.com/roehling/postsrsd/archive/master.zip
unzip postsrsd.zip
# Build and install.
cd postsrsd-master
cmake -DCMAKE_INSTALL_PREFIX=/usr
make
sudo make install
# Start services
sudo systemctl enable postsrsd
sudo service postsrsd start
# Reconfigure 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,header_recipient"
sudo postfix reload
答案 2 :(得分:1)
似乎GMX最近开启了严格的SPF检查,导致转发邮件失败。你会在mail.log中看到类似的东西
to=<mailaddress@gmx.de>, orig_to=<mailaddress@mydomain.com>, relay=mx00.emig.gmx.net[212.227.15.9]:25, delay=0.15, delays=0/0.02/0.12/0.01, dsn=5.0.0, status=bounced (host mx00.emig.gmx.net[212.227.15.9] said: 550-Requested action not taken: mailbox unavailable 550-Reject due to SPF policy. 550-The originating IP of the message is not permitted by the domain owner. 550 For explanation visit http://postmaster.gmx.com/en/error-messages?ip=127.0.0.10&c=spf (in reply to MAIL FROM command))
像L. Gleim所指出的那样,SRS和安装postrsd是解决方案。
Ubuntu也有PPA,因此可以通过
完成Ubuntu的安装。sudo add-apt-repository ppa:roehling/latest
sudo apt-get update
sudo apt-get install postsrsd
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,header_recipient"
sudo postfix reload
这使我可以再次将邮件转发给GMX。