Postfix adicionando Disclaimer em mensagens

Publicado por Fabio Soares Schmidt em 20/12/2012

[ Hits: 5.802 ]

 


Postfix adicionando Disclaimer em mensagens



Olá, neste primeiro tutorial sobre como adicionar Disclaimer, que são mensagens automáticas que serão inseridas no rodapé das mensagens enviadas, faremos a implementação básica modificando todas as mensagens enviadas pelo seu servidor.

Primeiramente precisamos instalar o software alterMIME, para qual o Postfix irá redirecionar a mensagem e fará o trabalho de adicionar o Disclaimer.

Obs.: Nesta dica utilizamos o Debian Squeeze com o repositório Stable:

# aptitude install altermime

Agora vamos criar um usuário que será responsável ela execução do filtro externo, assim como o diretório para o mesmo trabalhar as mensagens:

# useradd -r -c "Postfix Filters" -d /var/spool/filter filter -s /dev/null
# mkdir /var/spool/filter
# chown filter:filter /var/spool/filter
# chmod 750 /var/spool/filter


Precisamos fazer as modificações abaixo no arquivo Master.cf, para que o mesmo direcione as mensagens para o filtro externo somente para as mensagens enviadas pelo nosso servidor, evitando que o mesmo adicione o conteúdo em mensagens recebidas de fora, e ao executar outros filtros locais, como Amavis por exemplo.

Modifique o serviço SMTP, conforme abaixo:

127.0.0.1:smtp   inet  n   -   n   -   -  smtpd

IP_LAN:smtp      inet  n   -   n   -   -   smtpd
-o content_filter=disclaimer:

IP_WAN:smtp     inet  n   -   n   -   -   smtpd

Você deve substituir IP_LAN pelo IP utilizado pelos clientes locais de e-mail e IP_WAN pelo IP utilizado para receber as mensagens externas.

Ainda no final do arquivo, adicione o filtro externo:

disclaimer   unix  -   n   n   -   -   pipe
flags=Rq user=filter argv=/etc/postfix/filters/disclaimer.sh -f ${sender} - ${recipient}

Feito isso, crie o arquivo disclaimer.sh no diretório acima (/etc/postfix/filters) com o seguinte conteúdo:

#!/bin/sh
INSPECT_DIR=/var/spool/filter
SENDMAIL=/usr/sbin/sendmail

# 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; }

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

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

exit $?

Modifique o grupo da pasta /etc/postfix/filters e do script "disclaimer.sh" para filter, para que o usuário tenha permissão para executar o mesmo:

# chgrp filter /etc/postfix/filters -R

Você deve colocar a mensagem que será inserida automaticamente nos arquivos /etc/postfix/disclaimer/default.txt e /etc/postfix/default.html, com suas versões em texto puro e HTML, automaticamente.

Observe que, através do parâmetro xheader, estamos inserindo uma informação no cabeçalho da mensagem, e é muito utilizado colocar a URL para as políticas de correio eletrônico da empresa.

Feito isso, efetue o restart no Postfix e teste o funcionamento.


Obrigado,

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

Outras dicas deste autor

Zimbra 8.0.8: Erro em rotina do CRON / LOGROTATE

Thunderbird - Instalando complementos para todos os usuários

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

Personalizar mensagem de erro no Squid

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

Leitura recomendada

Dovecot: Adicionando mais informações na entrega da mensagem

Apagando "Frozen Message" na fila de email do Exim

mimeit - enviando e-mail com anexo via linha de comando

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

E-mail Linux

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário