Postfix adicionando Disclaimer em mensagens

Publicado por Fabio Soares Schmidt em 20/12/2012

[ Hits: 7.277 ]

 


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

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

Forçando cache do Windows Update com Squid (Atualizado)

Zimbra: Aumentando entregas simultâneas de mensagens

Expresso Livre: Corrigindo erros de atualização para versão 2.5

Apache com mod_proxy para múltiplos endereços

Leitura recomendada

Compartilhando calendário e lista de endereços no OpenWebmail

Controle de acesso por usuario no Postfix

Cyrus IMAP: "Message contains bare newlines" (Erro ao importar mensagens)

Bloqueando anexos no QmailToaster com MIME

Personalizar logos no Zimbra

  

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