@SergeyShibka

Postfix, как разрешить отправку во внешний мир не всем?

Приветствую!

Необходимо разрешить отправку во внешний мир нескольким пользователям, оставшимся пользователям только локальная переписка.

Попробовал вот так:

файл main.cf

smtpd_recipient_restrictions = check_sender_access texthash:/etc/postfix/restricted_senders, ....
smtpd_restriction_classes = local_only
local_only = check_recipient_access texthash:/etc/postfix/local_domains, reject


файл /etc/postfix/restricted_senders

buh@mx.test.ru local_only
gnom@mx.test.ru local_only
pasta@mx.test.ru local_only


файл /etc/postfix/local_domains

mx.test.ru OK

В этом варианте получается разрешения пересылки почты во внешний мир действуют на всех пользователей, кроме тех, кто прописан в списке файла /etc/postfix/restricted_senders, т.е. те кто прописан в файле переписываются только локально.

А как сделать наоборот, чтобы указанные пользователи из списка могли отправлять почту во внешний мир, а все остальные только локально? Уже мозг сломал и перечитал мануалы.
  • Вопрос задан
  • 3574 просмотра
Решения вопроса 1
@SergeyShibka Автор вопроса
Методом долбления мозга и тыка решение получилось такое.

файл /etc/postfix/restricted_senders изменяем на такой:

mx.test.ru local_only
vasya@mx.test.ru permit
gnom@mx.test.ru permit
pasta@mx.test.ru permit


т.е. сначала всем разрешено только в своем домене пересылать, а уже избранным наружу.

Если postfix скрещен с Win AD (как у меня), то в конфиге сделалано следующее:

файл /etc/postfix/restricted_senders принимает вид:

mx.test.ru local_only

а файл main.cf будет таким:

smtpd_recipient_restrictions = check_sender_access ldap:/etc/postfix/restricted_senders.cf, 
                               check_sender_access texthash:/etc/postfix/restricted_senders,
                               ...,
                               ...  
smtpd_restriction_classes = local_only
local_only = check_recipient_access texthash:/etc/postfix/local_domains, reject

файл /etc/postfix/restricted_senders.cf для выборки из Win AD:

server_host     = 192.168.111.2
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = user@test.ru
bind_pw         = 123qwe
search_base     = ou=Struktura,dc=developer,dc=com
scope           = sub
query_filter    = (&(mail=%s)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
result_attribute= postalCode
debuglevel      = 0


В Win AD у пользователя которому необходимо будет разрешить отправку почты наружу в поле "Почтовый индекс" прописываем параметр permit. У остальных пользователей у кого это поле будет пустым переписка только локальная.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы