Вывод журнала, который я получаю, выглядит следующим образом:
"Jul 7 11:23:46 mail policyd-spf[19779]: 550 5.7.23 Message rejected
due to: SPF fail - not authorized. Please see
http://www.openspf.net/Why?s=mfrom;id=xyz@gmx.de;ip=<IP>;r=<UNKNOWN>
Jul 7 11:23:46 mail postfix/smtpd[19773]: NOQUEUE: reject: RCPT from
remotemailserver.de[IP]: 550 5.7.23 <mail@mymailserver.de>:
Recipient address rejected: Message rejected due to: SPF fail - not
authorized. Please see http://www.openspf.net/Why?s=mfrom;id=xyz@gmx.de
;ip=<IP>;r=<UNKNOWN>;; from=<xyz@gmx.de> to=<mail@mymailserver.de>
proto=ESMTP helo=<remotemailserver.de>"
Мой policyd-spf.conf выглядит следующим образом:
# For a fully commented sample config file see policyd-spf.conf.commented
debugLevel = 1
TestOnly = 1
HELO_reject = Fail
Mail_From_reject = Fail
PermError_reject = False
TempError_Defer = False
skip_addresses = 127.0.0.0/8,::ffff:127.0.0.0/104,::1
DNS-запись spf для remotemailserver.de выглядит следующим образом:
subdomain.remotemailserver.de. 508 IN TXT "v=spf1 include:_spf.remotemailserver.de ~all"
Я далеко не эксперт по постфиксам, но согласно https://manpages.debian.org/testing/postfix-policyd-spf-python/policyd-spf.conf.5.en.html параметр HELO_reject
и Mail_From_reject
to Fail
не должен принудительно сбрасывать входящую почту на ~ все
spf-записи.
Где я ошибаюсь?
На самом деле это было заблуждение с моей стороны. Я полагал, что проверяется sfp-запись на remotemailserver.de. Но проверяется именно почтовый сервер поля FROM.
В этом случае sfp запись gmx.net является -all записью, что означает, что я получаю hardfail (правильно).