Redirecionamento de E-mail [RESOLVIDO]

1. Redirecionamento de E-mail [RESOLVIDO]

Jairo de Menezes Rodrigues
jairovisks

(usa Debian)

Enviado em 22/12/2011 - 12:09h

Salve salve Galera...

Estou com um desafio no postfix, mas como meu conhecimento dele é bem limitado, preciso da ajuda de vocês.

Meu cenário é o seguinte:

- Tenho dois departamentos: a operação e o Backoffice
- Cada departamento com um e-mail especifico (operacao.banco e bkf.banco)

O Desafio é o seguinte:

- O Operador vai enviar um e-mail via aplicativo para email_banco@banco.com.br
- O email_banco@banco.com.br irá responder com o texto TOKEN/<Nº Contrato> no campo assunto
- O Operador irá utilizar os dados recebidos para criar um novo e-mail e enviar novamente para email_banco@banco.com.br
- O email_banco@banco.com.br irá responder novamente, com o texto REFIN/<Nº Contrato>

Nesse último passo é que entra o desafio, eu preciso fazer, via servidor, uma regra mais ou menos como fazemos no outlook, do tipo:

Se o remetente for email_banco@banco.com.br e o assunto conter "REFIN" Entregue o email para bkf.banco e não para operacao.banco, se o assunto conter "TOKEN" entregue para operacao.banco e não para bkf.banco.

Desde já agradeço a ajuda de vocês.








  


2. Re: Redirecionamento de E-mail [RESOLVIDO]

Eriton Almeida
eritonalmeida

(usa Debian)

Enviado em 22/12/2011 - 12:21h

não entendi direito, mas consigo fazer isso.

me add no skype.
eriton.almeida


3. Re: Redirecionamento de E-mail [RESOLVIDO]

Jairo de Menezes Rodrigues
jairovisks

(usa Debian)

Enviado em 23/12/2011 - 09:59h

Pessoal o Eriton está me ajudando e estou aqui postando os resultados até o momento que poderão ser úteis para outras pessoas que por ventura tenham a mesma necessidade...

http://www.akadia.com/services/postfix_spamassassin.html

O link acima mostra um tratamento de e-mails para antispam pelo postfix e spamassasin, a idéia será utilizar um script semelhante para tratar os e-mails pelo campo Subject e alterar o campo recipient do e-mail caso atenda aos requisitos.


Irei postando os resultados, conforme forem aparecendo!


4. Re: Redirecionamento de E-mail [RESOLVIDO]

Jairo de Menezes Rodrigues
jairovisks

(usa Debian)

Enviado em 27/12/2011 - 10:51h

Salve salve galera...

Outra possível solução que encontrei... nem falei com Eriton ainda... =)
é utilizar o header_checks do postfix, desta forma basta editar o arquivo main.cf e colocar a linha:

header_checks = regexp:/etc/postfix/<arquivo_regras>

Onde arquivo_regras é o nome do arquivo onde deverá ser colocado o tratamento dos e-mails.

No meu arquivo eu coloquei, para fins de teste, a seguinte regra:

/^Subject: .*teste*/ REDIRECT jairovisks@gmail.com

Assim todo e qualquer e-mail que chega no meu servidor com a palavra teste escrita em qualquer ordem o postfix redireciona para o jairovisks@gmail.com.

Obs.: Essa regra não é case sensitive, ou seja, funciona para Teste, teste, TESTE, TeSte, e assim por diante.

Até aqui tudo bem, mas agora preciso de nova ajuda:
Na minha regra eu preciso que somente os e-mails direcionados para jairo@meudominio.com.br e que contenha a palavra teste seja redirecionado, porém não sei como funciona, e se funciona, a cláusula AND dentro do postfix.

Se alguém puder contribuir...

Abs


5. Re: Redirecionamento de E-mail [RESOLVIDO]

Jairo de Menezes Rodrigues
jairovisks

(usa Debian)

Enviado em 28/12/2011 - 14:43h

Galera... só pra constar...

Como a minha necessidade era um pouco urgente optei por fazer com o header_checks mesmo, apesar de AINDA não ter descoberto como fazer o and nele...
Falei com o Eriton e ele me informou que a opção do header_checks me ajuda com a questão performance, desta forma a solução o script ficou da seguinte forma:

/^Subject: TOKEN\/.*\/.*\// REDIRECT bkf.banco@meudominio.com.br


Valew mais uma vez pela ajuda Eriton.


6. Re: Redirecionamento de E-mail [RESOLVIDO]

Jairo de Menezes Rodrigues
jairovisks

(usa Debian)

Enviado em 30/12/2011 - 12:39h

Olha eu de novo...

Estou aqui para dar os devidos créditos ao Eriton, que me ajudou pra caramba... ele desenvolveu outra solução para mim, um script que que faz a verificação do assunto e do destinatário também.

A solução é a seguinte:

1º) Foi criado um script chamado filter.sh com o seguinte conteúdo:

#!/bin/sh

SENDMAIL="/usr/sbin/sendmail -i"
EGREP=/bin/egrep

trap "rm -f /var/mail/filter/out.$$" 0 1 2 3 15

cat | sed 's/^\.$/../' > /var/mail/filter/out.$$

if $EGREP -q "^Subject: TOKEN*" < /var/mail/filter/out.$$ && $EGREP -q "^To:.*op.banco@mydomain.com.br" < /var/mail/filter/out.$$
then
$SENDMAIL bkf.banco@mydomain.com.br < /var/mail/filter/out.$$
else
$SENDMAIL "$1" < /var/mail/filter/out.$$
fi


exit $?

############# Fim Script#################################

2º) Dá-se as devidas permissões e cria-se o diretório que o script utilizará para verificar o e-mail:

# chown root:mail /usr/local/bin/filter.sh
# chmod 750 /usr/local/bin/filter.sh
# mkdir /var/mail/filter
# chown mail:mail /var/mail/filter


3º) Edita-se o arquivo /etc/postfix/master.cf e insere as linhas abaixo:

smtp inet n - n - - smtpd
-o content_filter=filter

filter unix - n n - - pipe
flags=Rq user=mail argv=/usr/local/bin/filter.sh ${recipient}


Obs.: A linha "smtp inet n - n - - smtpd" já existe no arquivo /etc/postfix/master.cf


4º) Edita-se o arquivo /etc/postfix/main.cf e insere a linha abaixo:

filter_destination_recipient_limit = 1


Agora basta reiniciar o postfix e já estará funcionando, testei aqui e resolveu meu problema.
É uma solução limpa e, depois que ele me explicou, relativamente simples.

Mais uma vez obrigado Eriton,

Abs







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts