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

Publicado por Fabio Soares Schmidt em 18/01/2013

[ Hits: 4.206 ]

 


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 $?

Obrigado.

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

Outras dicas deste autor

Cyrus Aggregator - Resolvendo inconsistências entre servidores Back-end e Mupdate Master (Murder)

Zimbra - "Erro: PKIX path building failed" ao executar o Zmmailbox

Cyrus imap: habilitando "shared seen" para contas compartilhadas

Utilizando NAT em containers Openvz: Iptables: No chain/target/match by that name

Zimbra: Melhorando eficácia do seu anti-Spam

Leitura recomendada

Dovecot - Mover Spam automaticamente para a pasta desejada

Postfix: Desabilitando SSLv3 (Poodle Vulnerability)

Patch para Cyrus IMAP 2.4.x - erro: "Message contains bare newlines"

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

Fãs do Linux agora podem ter email com domínio do seu sistema operacional favorito

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts