Postfix: Adicionando disclaimer – Todas as mensagens enviadas

Olá,  nesse primeiro tutorial sobre 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 (http://www.pldaniels.com/altermime/), para qual o Postfix irá redirecionar a mensagem e fará o trabalho de adicionar o Disclaimer, nesse artigo utilizamos o Debian Squeeze com o repositório Stable:

aptitudade 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:

O script abaixo está publicado em: https://github.com/fsschmidt/postfix/tree/master/Disclaimer

Arquivo publicado no

#!/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&#8221; || \
{ 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 usá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 a 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.

Obs.: Em breve adicionarei novos artigos sobre o Disclaimer no Postfix, podendo criar regras e exceções para remetentes e domínios específicos.

Anúncios

Um comentário sobre “Postfix: Adicionando disclaimer – Todas as mensagens enviadas

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s