Pular para o conteúdo

Postfix: Adicionando disclaimer - Exceções de remetentes e arquivos diferentes por domínio

Dica publicada em Linux / Correio Eletrônico
Fabio Soares Schmidt fs.schmidt
Hits: 4.920 Categoria: Linux Subcategoria: Correio Eletrônico
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Postfix: Adicionando disclaimer - Exceções de remetentes e arquivos diferentes por domínio

Seguindo a série de tutoriais sobre Disclaimer (ou Footer) com Postfix, apresento um script mais elaborado, que contempla exceções de remetentes que não devem ter o Disclaimer inserido, e a possibilidade de incluir disclaimers diferentes com base no domínio de origem.

Todos os passos para configuração devem ser seguidos conforme o primeiro tutorial: Postfix adicionando Disclaimer em mensagens, substituindo o script pelo que é apresentado neste tutorial.

Antes de publicar o post, explico a lógica utilizada, onde primeiramente serão tratadas as exceções. Os remetentes devem ser incluídos no arquivo definido pela variável EXCECOES_REMETENTES.

Após tratar as exceções, será feito o tratamento para definir qual o arquivo que deve ser utilizado. O script contempla dois disclaimers, os domínios para qual cada um será aplicado é definido pelas variáveis DISCLAIMER1 e DISCLAIMER2. Os arquivos com os disclaimers estão como disclaimer1.txt" e "disclaimer2.txt" conforme pode ser visto no script.

Obs.: É recomendável criar um diretório específico para armazenar as configurações e arquivos contendo os disclaimers, para uma melhor organização.

Segue o script, que também está publicado em:
#!/bin/sh
# Fabio S. Schmidt <fabio@improve.inf.br>
# 06/Jan/2013
# Contempla excecoes de remetentes que nao terao o disclaimer inserido
# e disclaimers especificos de acordo com o dominio do remetente

# Localize these.

INSPECT_DIR=/var/spool/filter
SENDMAIL=/usr/sbin/sendmail

#REMETENTES QUE NAO DEVEM TER O DISCLAIMER INSERIDO
EXCECOES_REMETENTES=/etc/postfix/excessoes_remetente

#DEFINIMOS QUAL DISCLAIMER DEVE SER INSERIDO PARA CADA DOMINIO
DISCLAIMER1=/etc/postfix/dominios-disclaimer1.txt
DISCLAIMER2=/etc/postfix/dominios-disclaimer2.txt

# Exit codes from <sysexits.h>
EX_TEMPFAIL=75
EX_UNAVAILABLE=69

# Clean up when done or when aborting.
trap "rm -f in.$$" 0 1 2 3 15

# Start processing.
cd $INSPECT_DIR || { echo $INSPECT_DIR does not exist; exit
$EX_TEMPFAIL; }

cat >in.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; }

#FAZ A PESQUISA DO REMETENTE PARA A EXCECAO
from_address=`grep -m 1 "From:" in.$$ | cut -d " " -f 2 | cut -d " " -f 1`
# FAZ A PESQUISA DO DOMINIO REMETENTE PARA ADICIONAR O DISCLAIMER DESEJADO
from_domain=`grep -m 1 "From:" in.$$ | cut -d " " -f 2 | cut -d " " -f 1 | cut -d@ -f2`

#TRATA AS EXCECOES PRIMEIRO
if [ `grep -wi ^${from_address}$ ${EXCECOES_REMETENTES}` ]; then

$SENDMAIL -oi "$@" <in.$$
exit $?

#CONSULTA O DOMINIO DO REMENTE PARA ADICIONAR O DISCLAIMER CORRESPONDENTE
elif [ `grep -wi ^${from_domain}$ ${DISCLAIMER1}` ]; then
/usr/bin/altermime --input=in.$$ \
       --disclaimer=/etc/postfix/disclaimer1.txt \
       --disclaimer-html=/etc/postfix/disclaimer1.html \
       --xheader="X-Copyrighted-Material: Colocar o site da empresa aqui http://www.company.com/privacy.htm" || \
       { echo Message content rejected; exit $EX_UNAVAILABLE; }

elif [ `grep -wi ^${from_domain}$ ${DISCLAIMER2}` ]; then

/usr/bin/altermime --input=in.$$ \
       --disclaimer=/etc/postfix/disclaimer2.txt \
       --disclaimer-html=/etc/postfix/disclaimer2.html \
       --xheader="X-Copyrighted-Material: Colocar o site da empresa aqui http://www.company.com/privacy.htm" || \
       { echo Message content rejected; exit $EX_UNAVAILABLE; }

fi

### ENVIA A MENSAGEM APOS INSERIR O DISCLAIMER DESEJADO ###
$SENDMAIL -oi "$@" <in.$$
exit $?
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Obrigado.

Fabio Soares Schmidt
http://respirandolinux.wordpress.com

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Thunderbird: Distribuindo o aplicativo com certificados próprios

Postfix - Efetuando relay em hosts que exigem autenticação e nas portas SUBMISSION ou SMTPS

Postfix - Bloqueando spam com o próprio domínio

Postfix adicionando Disclaimer em mensagens

Cyrus Imap: Fatal error: Internal error: assertion failed: seen_db.c: 127: *seendbptr == NULL

Configurando o Exim como MX secundário

Migrando de Outlook Express para Evolution (DBX para MBX)

Problemas ao abrir anexos do tipo 'winmail.dat' no Evolution (MS Outlook)

Mantendo logs do SMTP para auditoria em servidores de grande movimento

Exportação de e-mail Kmail para Thunderbird

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.