É totalmente possível com postfix Classes de restrição , você pode agrupar usuários em uma tabela e, em seguida, aplicar determinado acesso padrões (só podem enviar para determinados domínios, não podem enviar nada, etc.).
Um exemplo simples seria em smtpd_recipient_restrictions
você adiciona uma linha para verificar o acesso do remetente: check_sender_access hash:/etc/postfix/sender_access
no arquivo sender_access
você colocou o endereço de e-mail e a política aplicada (é melhor colocar na lista de permissões, já que você diz alguns usuários, permitindo que eles enviem em qualquer lugar, e os outros adicionam um grupo maior. o domínio por exemplo).
/ etc / postfix / sender_access :
[email protected] all
[email protected] all
@yourdomain.com local
Então você precisa definir essas classes.
smtpd_restriction_classes = local, all
local = check_recipient_access hash:/etc/postfix/local_dom, reject
all = check_recipient_access regex:/etc/postfix/all_dom, reject
/ etc / postfix / local :
domain1.com OK
domain2.com OO
/ etc / postfix / all :
^*@* OK
Isso não é perfeito (meu regex deve funcionar), pois os e-mails de nomes não são restritos e, é claro, seus usuários de e-mail também podem enviar por outro servidor, mas essa é uma maneira básica de fazer o que você pede. Você também pode substituir as tabelas de hash pelo SQL, etc.