Postfix: recebe apenas emails de domínios específicos?

6

Como posso configurar o Postfix para que ele receba apenas e-mails de domínios específicos?

Existe uma conta de e-mail específica no meu servidor que eu gostaria apenas de receber e-mails retransmitidos de txt.att.net, text.wireless.alltel.com e mms.alltel.net. Qualquer outro e-mail enviado para esta conta deve ser devolvido ao remetente.

    
por user19327 03.09.2009 / 23:26

3 respostas

7

Depende de como você deseja restringi-lo. Não tenho certeza se esses são os endereços de email dos quais você está falando ou os endereços de envio.

Enviando endereços

Você pode usar a diretiva check_sender_access dentro de uma restrição smtpd _ * _ apropriada. Normalmente, é uma prática recomendada aplicar todos os remetentes, verificações de host etc. dentro das restrições do destinatário (ou seja, depois que o cliente enviar 'RCPT To:')

por exemplo. para permitir apenas emails de remetentes @ gmail.com e @ hotmail.com ...

defina smtpd_recipient_restrictions para o seguinte:

smtpd_recipient_restrictions =
    check_sender_access hash:/etc/postfix/access,
    reject

Agora o / etc / postfix / access deve estar no formato:

gmail.com OK
hotmail.com OK

use o hash do postmap: / etc / postfix / access para criar a tabela de hash.

Nome do host de redirecionamento ou IP

smtpd_recipient_restrictions =
    check_client_access hash:/etc/postfix/client_access,
    reject

O formato de client_access é semelhante:

host.name.of.system.com  OK
ip.addr.of.system        OK

Lendo seus registros

Segue-se um excerto completo do meu mail.log para uma mensagem de exemplo. Eu escolhi uma mensagem e peguei o id da fila - 31AF4761F3. Ele estará nos cabeçalhos do e-mail, bem como no seu arquivo de registro de e-mail.

$ grep 31AF4761F3 /var/log/mail.log
Sep  4 09:30:38 cutoffs postfix/smtpd[7912]: 31AF4761F3: client=russian-caravan.cloud9.net[w.x.y.z]
Sep  4 09:30:38 cutoffs postfix/cleanup[7915]: 31AF4761F3: message-id=<007B93C54F154113B36026A22D5E0106@gaby>
Sep  4 09:30:38 cutoffs postfix/qmgr[19172]: 31AF4761F3: from=<[email protected]>, size=4225, nrcpt=1 (queue active)
Sep  4 09:30:39 cutoffs postfix/pipe[7916]: 31AF4761F3: to=<XXXX@XXXX>, relay=spamassassin, delay=1.4, delays=0.19/0.01/0/1.3, dsn=2.0.0, status=sent (delivered via spamassassin service)
Sep  4 09:30:39 cutoffs postfix/qmgr[19172]: 31AF4761F3: removed

Você pode ver na primeira linha que temos client = russian-caravan.cloud9.net (que é o servidor de e-mail que envia e-mails para a lista de e-mails postfix) e o endereço IP está entre colchetes. Você pode usar o nome do host ou o IP no arquivo de acesso, mas lembre-se de que eles têm vários retransmissores de e-mail ou alguma vez alteram seus retransmissores de e-mail, você precisará descobrir isso.

    
por 04.09.2009 / 01:31
4

A resposta de phil é boa, exceto por um detalhe. não use "OK" no RHS de / etc / postfix / access ou / etc / postfix / client_access. Isso torna o seu servidor de e-mail uma retransmissão parcial parcial para qualquer um que esteja enviando e-mails de @ gmail.com ou @ hotmail.com (acesso) ou para os hosts específicos permitidos em client_access. isso vai além de apenas permitir que eles enviem e-mails para usuários específicos em seu sistema, o que lhes permite retransmitir mensagens para qualquer usuário em qualquer sistema através do seu.

em vez disso, use "permit_auth_destination". que permite que eles enviem para seus domínios locais, ou para qualquer um que você esteja configurado para transmitir, mas NÃO para qualquer domínio arbitrário.

por exemplo.

/ etc / postfix / access:

gmail.com     permit_auth_destination
hotmail.com   permit_auth_destination

/ etc / postfix / client_access:

host.name.of.system.com  permit_auth_destination
ip.addr.of.system        permit_auth_destination

mesmo que tudo esteja perfeitamente configurado, usar "OK" nas regras de acesso do postfix é um mau hábito. às vezes você realmente precisa, mas, por padrão, seu hábito deveria ser usar "permit_auth_destination".

    
por 06.09.2009 / 09:04
0

Baseado neste link: [ link

minha configuração:

/etc/postfix/main.cf

 smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/protected_destinations,permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
 smtpd_restriction_classes = insiders_only
 insiders_only = check_sender_access hash:/etc/postfix/insiders, reject

/ etc / postfix / insiders

 mydomain.com            OK
 otherdomain.com         OK
 [email protected]       OK

/ etc / postfix / protected_destinations

restricted_email@      insiders_only

então

 postmap /etc/postfix/insiders
 postmap /etc/postfix/protected_destinations
 /etc/init.d/postfix restart

Esta configuração permite receber e-mails apenas dos objetos / etc / postfix / insiders e afeta apenas o endereço / es retidos no arquivo protected_destinations e NÃO o sistema global, para que todos os outros usuários possam receber as mensagens recebidas como sempre. Note que podem ser domínios e / ou endereços de e-mail.

A linha restricted_email @ insiders_only abrange todos os domínios no servidor. Eu tenho apenas usuários locais no meu servidor e preciso colocar o "@" no final de restricted_email para trabalhar com todos os restricted_email @ domains, o que eu quero.

    
por 05.07.2016 / 16:07

Tags