Questo tutorial mostra come installare e utilizzare alterMIME. alterMIME è uno strumento che può aggiungere automaticamente un disclaimer alle e-mail. In questo articolo spiegherò come installarlo come filtro Postfix su Debian Squeeze.
1 Nota preliminare
Presumo che Postfix sia già installato e perfettamente funzionante:in questo tutorial non spiegherò come impostare Postfix e configurare gli account di posta elettronica.
2 Installazione di alterMIME
alterMIME può essere installato come segue:
apt-get install altermime
Quindi creiamo il filtro utente con la directory home /var/spool/filter filter - alterMIME verrà eseguito come quell'utente:
useradd -r -c "Postfix Filters" -d /var/spool/filter filter
mkdir /var/spool/filter
chown filter:filter /var/spool/filter
chmod 750 /var/spool/filter
Successivamente creiamo lo script /etc/postfix/disclaimer che esegue alterMIME. Il pacchetto alterMIME di Debian viene fornito con uno script di esempio che possiamo semplicemente copiare in /etc/postfix/disclaimer:
cp /usr/share/doc/altermime/examples/postfix_filter.sh /etc/postfix/disclaimer
chgrp filter /etc/postfix/disclaimer
chmod 750 /etc/postfix/disclaimer
Ora il problema con questo script è che non fa distinzione tra e-mail in entrata e in uscita:aggiunge semplicemente un disclaimer a tutte le e-mail. In genere si desiderano dichiarazioni di non responsabilità solo per le e-mail in uscita e anche in questo caso non per tutti gli indirizzi dei mittenti. Pertanto ho modificato un po' lo script /etc/postfix/disclaimer:ci arriveremo tra un minuto.
In questo momento, creiamo il file /etc/postfix/disclaimer_addresses che contiene tutti gli indirizzi email dei mittenti (uno per riga) per i quali alterMIME dovrebbe aggiungere un disclaimer:
vi /etc/postfix/disclaimer_addresses
[email protected] [email protected] [email protected] |
Ora apriamo /etc/postfix/disclaimer e lo modifichiamo come segue (ho contrassegnato le parti che ho modificato):
vi /etc/postfix/disclaimer
#!/bin/sh # Localize these. INSPECT_DIR=/var/spool/filter SENDMAIL=/usr/sbin/sendmail ####### Changed From Original Script ####### DISCLAIMER_ADDRESSES=/etc/postfix/disclaimer_addresses ####### Changed From Original Script END ####### # 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; } ####### Changed From Original Script ####### # obtain From address from_address=`grep -m 1 "From:" in.$$ | cut -d "<" -f 2 | cut -d ">" -f 1` if [ `grep -wi ^${from_address}$ ${DISCLAIMER_ADDRESSES}` ]; then /usr/bin/altermime --input=in.$$ \ --disclaimer=/etc/postfix/disclaimer.txt \ --disclaimer-html=/etc/postfix/disclaimer.txt \ --xheader="X-Copyrighted-Material: Please visit http://www.company.com/privacy.htm" || \ { echo Message content rejected; exit $EX_UNAVAILABLE; } fi ####### Changed From Original Script END ####### $SENDMAIL "[email protected]" <in.$$ exit $? |
Successivamente abbiamo bisogno del file di testo /etc/postfix/disclaimer.txt che contiene il testo della nostra dichiarazione di non responsabilità. Il pacchetto alterMIME di Debian viene fornito con un testo di esempio che possiamo usare per ora (ovviamente, puoi modificarlo se lo desideri):
cp /usr/share/doc/altermime/examples/disclaimer.txt /etc/postfix/disclaimer.txt
Infine, dobbiamo dire a Postfix che dovrebbe utilizzare lo script /etc/postfix/disclaimer per aggiungere dichiarazioni di non responsabilità alle e-mail in uscita. Apri /etc/postfix/master.cf e aggiungi -o content_filter=dfilt:alla riga smtp:
vi /etc/postfix/master.cf
# # Postfix master process configuration file. For details on the format # of the file, see the master(5) manual page (command: "man 5 master"). # # Do not forget to execute "postfix reload" after editing this file. # # ========================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (100) # ========================================================================== smtp inet n - - - - smtpd -o content_filter=dfilt: [...] |
Alla fine dello stesso file, aggiungi le seguenti due righe:
[...] dfilt unix - n n - - pipe flags=Rq user=filter argv=/etc/postfix/disclaimer -f ${sender} -- ${recipient} |
Riavvia Postfix in seguito:
/etc/init.d/postfix restart
Questo è tutto! Ora è necessario aggiungere un disclaimer alle email in uscita inviate dagli indirizzi elencati in /etc/postfix/disclaimer_addresses.
3 link
- alterMIME:http://pldaniels.com/altermime/
- Postfix:http://www.postfix.org/
- Debian:http://www.debian.org/