O postfix restringe todos os e-mails recebidos a determinados domínios e, em seguida, permite todos os endereços de usuários específicos

1

Usamos o Postfix para endereços de e-mail da empresa fornecidos aos funcionários ... todos são do formato [email protected].

Basicamente, quero restringir todos os e-mails recebidos a esses endereços para permitir apenas e-mails do domínio @ example.com.

Simples, acho que, no entanto, há alguns endereços de supervisor selecionados que precisam ser irrestritos (capazes de receber e-mails de qualquer domínio).

Nenhuma das respostas que encontrei parece responder a este problema (Embora eu seja realmente fraco quando se trata de trabalhar com configurações de e-mail)

trecho de /etc/postfix/main.cf:

smtpd_recipient_restrictions = 
    permit_sasl_authenticated, 
    permit_mynetworks, 
    reject_unauth_destination, 
    check_sender_access hash:/etc/postfix/access, 
    reject
    
por ajax1515 17.12.2014 / 20:33

1 resposta

2

Você pode usar classes de restrição. Veja:

Para o seu caso

Agora temos que criar duas classes, uma para a turma de supervisor e outra para a restante da empresa.

A configuração

Defina smtpd_restriction_classess em main.cf

smtpd_restriction_classes = mysupervisor

Defina smtpd_recipient_restrictions em main.cf , coloque esta linha depois de check_sender_access hash:/etc/postfix/access,

check_recipient_access hash:/etc/postfix/mycompany.rules

Este arquivo /etc/postfix/mycompany.rules executará a lógica de decisão para selecionar qual endereço pertence à classe mysupervisor . Então o conteúdo é

[email protected]    mysupervisor
[email protected]    mysupervisor

Em seguida, defina a regra para a classe mysupervisor em main.cf , para que o postfix permita todos os endereços.

mysupervisor = permit

Para verificar se o email foi proveniente do domínio da empresa (example.com), defina a regra check_sender_access hash:/etc/postfix/insiders após check_recipient_access hash:/etc/postfix/mycompany.rules . O conteúdo de /etc/postfix/insiders

example.com OK

Agora, main.cf hase torne-se

smtpd_restriction_classes = mysupervisor
mysupervisor = permit
smtpd_recipient_restrictions = 
    permit_sasl_authenticated, 
    permit_mynetworks, 
    reject_unauth_destination, 
    check_sender_access hash:/etc/postfix/access,
    check_recipient_access hash:/etc/postfix/mycompany.rules,
    check_sender_access hash:/etc/postfix/insiders
    reject

Como funciona

Para todos os emails, o postfix aplicará a restrição até

check_sender_access hash:/etc/postfix/access,

Depois disso, o email será verificado em relação a mycompany.rules . Se o destinatário era email de supervisor, do que permitir, caso contrário, o postfix executará a última restrição /etc/postfix/insiders . Se o remetente for @ example.com, permita-o, caso contrário, rejeite-o.

    
por 17.12.2014 / 22:44

Tags