Redirecionar endereço de e-mail específico enviado para um usuário, para outro usuário

5

Eu preciso redirecionar o email dentro do nosso MTA quando os dois critérios a seguir forem verdadeiros:

Quando um e-mail é:

Resultado: redirecionar e-mail para [email protected].

Eu não quero pegar *@isp.com e redirecionar, e eu não quero redirecionar todos os e-mails direcionados para [email protected], mas somente redirecionar quando [email protected] enviar usuario @ nossaempresa .com um e-mail.

Como faço para isso na configuração do Postfix? E se não for possível no Postfix, qual pode ser a melhor solução?

    
por Michael P 28.06.2011 / 02:06

6 respostas

6

Você pode usar o PCRE Em /etc/postfix/main.cf:

header_checks = pcre:/etc/postfix/headers_check

/ etc / postfix / headers_check:

/To:.*@(?!mail.domain.com) && From:.*@?!extdomain.com/ REDIRECT [email protected]

O PCRE trabalha com perl regular extensões, e você pode especificar quaisquer condições.

    
por 28.06.2011 / 16:06
3

Se você não quiser usar o procmail, talvez queira algo como o seguinte:

/etc/postfix/main.cf:

smtpd_restriction_classes = redirect
redirect = check_recipient_access hash:/etc/postfix/maps/redirections
smtpd_recipient_restrictions = [...some checks...],
                               check_sender_access hash:/etc/postfix/maps/user_to_redirect,
                               [...some more checks...]

/ etc / postfix / maps / user_to_redirect:

[email protected]                   redirect

/ etc / postfix / maps / redirections:

[email protected]            [email protected]

Para mais informações, consulte: link

    
por 28.06.2011 / 17:16
1

você considerou um .forward com procmail? Verifique aqui e deixe-nos saber se isso atende às suas necessidades.

Especificamente, combinar as instruções "Encaminhamento", para enviar o e-mail de volta para outro endereço, com a seção "Spam", para identificar os e-mails corretos, parece fazer exatamente o que você está procurando.

    
por 28.06.2011 / 15:01
0

Meu postfix não tem o pcre instalado:

fatal: dict_open: unsupported dictionary type: pcre:  Is the postfix-pcre package installed?

Mas os regex básicos funcionaram, conforme descrito aqui:

main.cf

header_checks = regexp:/etc/postfix/header_checks

The syntax in the header_checks file is:
/regex_pattern/ ACTION

link

Esteja ciente também de que o nome do usuário vem antes do endereço de e-mail na linha de cabeçalho, começando com De, por exemplo:

From: Mr Smith <[email protected]>

Assim, seu regex precisará levar isso em conta.

Mas encontrei uma solução mais simples que não requer expressões regulares, desde que você não se importe em não conseguir controlar a regra com base no destinatário.

Nas versões modernas do postfix, você pode adicionar um comando de redirecionamento ao sender_access

Supondo que você tenha uma linha no seu main.cf da seguinte forma:

smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender_access

Você pode adicionar uma linha ao sender_access para redirecionar o e-mail para outro endereço da seguinte forma:

[email protected] REDIRECT [email protected]

Lembre-se de fazer o hash do postmap: sender_access depois de salvar o sender_access

    
por 24.03.2014 / 11:25
0

Esta é uma configuração funcional para encaminhar todos os e-mails de extdomain1.ltd para a caixa especial [email protected]:

#cat main.cf
..
header_checks = pcre:/etc/postfix/header_checks
..

#cat /etc/postfix/header_checks
/From:.*@extdomain1.ltd/ REDIRECT [email protected]

Não se esqueça de enviar o comando update postfix para reler as configurações.

    
por 30.08.2017 / 16:39
-1

O problema com tudo isso é que ele só pode redirecionar para um único endereço de e-mail com qualquer um dos métodos.

[email protected] REDIRECT [email protected]

por exemplo, o seguinte não funcionará já que é muito limitado no Postfix:

[email protected] REDIRECT [email protected] | [email protected]

Se você quiser fazer mais coisas extravagantes, sugiro que você instale e aprenda a usar o procmail.

    
por 19.03.2015 / 19:32