Вопрос или проблема
При настройке Postfix, как мне требовать SPF, но только если это не от отправителя из локальной сети? Я попробовал следующее:
smtpd_recipient_restrictions=
reject_invalid_hostname,
permit_sasl_authenticated,permit_mynetworks,
check_policy_service unix:private/policyd-spf,
reject_unknown_helo_hostname
…и я думал, что в таком порядке permit_networks
будет проверяться перед проверкой политики SPF и разрешит отправку. Однако это не так, и SPF не проходит, отклоняя любые письма из локальной сети. Я не уверен, как решить эту проблему.
Если это важно, я пробовал это на Postfix 3.9.
Ответ или решение
Чтобы отключить проверки SPF для локальных сетей в Postfix, вам необходимо правильно настроить порядок проверок в вашей конфигурации. В вашем случае приоритет правил оказывается некорректным, что и приводит к отказу в обработке писем от локальных отправителей.
Ниже представлен корректный пример конфигурации, который позволит не выполнять проверки SPF для отправителей из локальной сети:
smtpd_recipient_restrictions =
reject_invalid_hostname,
permit_sasl_authenticated,
permit_mynetworks,
# Для проверки SPF переместите check_policy_service после permit_mynetworks
check_policy_service unix:private/policyd-spf,
reject_unknown_helo_hostname
Изменение здесь заключается в том, что check_policy_service unix:private/policyd-spf
должно идти после permit_mynetworks
. Таким образом, если письмо отправлено из одной из ваших локальных сетей (определенных в параметре mynetworks
), то оно будет пропущено, и проверка SPF не будет производиться.
Если вы также хотите убедиться, что настройки mynetworks
корректно определены, добавьте их в конфигурацию, если это еще не сделано. Пример конфигурации для mynetworks
может выглядеть следующим образом:
mynetworks = 127.0.0.0/8, [::1]/128, YOUR_LOCAL_NETWORK/24
Где YOUR_LOCAL_NETWORK/24
– это ваша локальная сеть, например 192.168.1.0/24
.
После внесения изменений не забудьте перезапустить Postfix для применения новой конфигурации:
sudo systemctl restart postfix
Итак, пересмотрите и скорректируйте ваши настройки, как указано выше, для успешного отключения проверок SPF для локальных сетей. Если у вас по-прежнему возникают трудности, проверьте логи Postfix для получения дополнительной информации о том, почему проверка SPF может все еще ошибаться для ваших локальных отправителей.