Я настроил свой Postfix на отклонение электронной почты, отправленной с хостов без записи PTR и имен хостов, у которых нет записи A. Я обнаружил, что есть законные почтовые серверы с действительными записями SPF, у которых нет записи A для их имени хоста. В результате законные электронные письма были отклонены.
Есть ли способ настроить Postfix для приема электронной почты с действительной записью SPF, даже если нет записи A для имени хоста или записи PTR для IP-адреса?
Это могло быть возможно, если check_policy_service
ответил permit
(из access(5)
другие действия) вместо нейтрального принять действие OK
против отклонить действие reject
. Это потребует внесения изменений в службу политик SPF policyd-spf.conf
. Хотя я на самом деле никогда не пробовал это, на основе справочной страницы кажется, что Pass
условие для обоих HELO
и MAIL FROM
позволяет использовать ЛЮБОЕ действие, определенное в access(5)
. Результирующие параметры конфигурации в policyd-spf.conf
:
HELO_pass_restriction = permit
Mail_From_pass_restriction = permit
Теперь порядок ограничений начинает иметь значение, поскольку служба политик SPF отвечает:
reject
на SPF Fail
permit
на SPF Pass
OK
по всем остальным условиям, включая ошибки, Softfail
, Neutral
и без SPF.Затем Postfix main.cf
могут иметь все ваши ограничения в таком порядке:
smtpd_recipient_restrictions =
permit_mynetworks,
[checks done regardless of SPF],
check_policy_service unix:private/policy-spf,
[checks done only if SPF didn't either Pass or Fail],
permit
Обе permit
и reject
первые совпадения, упомянутые в smtpd_recipient_restrictions
Ограничения применяются в указанном порядке; первое совпадающее ограничение побеждает
а нейтральный ответ от любого ограничения вызывает переход к следующему.
Цитата из документации Postfix:
Ограничения применяются в указанном порядке; первое совпадающее ограничение побеждает
Так что нет, это невозможно. Если соответствует только одно из ограничений, письмо будет отклонено, порядок не имеет значения.