Назад | Перейти на главную страницу

postfix указывает домен ограниченной ретрансляции при разрешении ретрансляции sasl-auth

Я пытаюсь настроить постфикс, чтобы разрешить ретрансляцию при ограниченном наборе условий:

Вот соответствующие биты конфигурации:

smtpd_sasl_auth_enable=yes
relay_domains=example.com
smtpd_recipient_restrictions=permit_auth_destination,reject_unauth_destination
smtpd_client_restrictions=permit_sasl_authenticated,reject

Проблема в том, что для этого требуется выполнение ОБЕИХ ограничений, а не либо-либо. То есть он разрешает ретрансляцию только в том случае, если клиент аутентифицирован И домен получателя - @ example.com.

Вместо этого он нужен мне, чтобы разрешить ретрансляцию, если выполняется одно из требований. Как мне сделать это, не прибегая к запуску SMTP на двух отдельных портах с разными правилами?

Примечание:
Контекст - это MTA, предназначенный только для исходящего использования (привязанный к 127.0.0.1) на общем веб-сервере, который всем владельцам сайтов разрешено ретранслировать почту на один из «принадлежащих» доменов (хотя и не на локальный сервер), а также для ограниченному кругу «доверенных» владельцев сайтов разрешено пересылать почту без ограничений при условии, что у них есть действующий вход по SMTP.

И, конечно же, я разобрался через 6 минут после публикации вопроса.

Вы можете поставить permit_sasl_authenticated в твоем smtpd_recipient_restrictions установка и удаление smtpd_client_restrictions все вместе.

smtpd_sasl_auth_enable=yes
relay_domains=example.com
smtpd_recipient_restrictions=permit_auth_destination,
     permit_sasl_authenticated,reject_unauth_destination

Тот факт, что эта опция не задокументирована в http://www.postfix.org/postconf.5.html#smtpd_recipient_restrictions оказался источником немалого разочарования в этом случае.