GNU/Linux >> Linux Esercitazione >  >> Debian

Come aggiungere automaticamente una dichiarazione di non responsabilità alle e-mail in uscita con alterMIME (Postfix On Debian Squeeze)

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.

  • alterMIME:http://pldaniels.com/altermime/
  • Postfix:http://www.postfix.org/
  • Debian:http://www.debian.org/

Debian
  1. Blocco della ricezione di TLD completi

  2. In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

  3. Come viene aggiornato /etc/motd?

  4. Come monitorare i file /etc/shadow e /etc/passwd per le modifiche con Auditd?

  5. Come configurare /etc/issues per mostrare l'indirizzo IP per eth0

Come eseguire OpenVPN automaticamente su Debian con un indirizzo IP statico

Utenti virtuali e domini con Postfix, Courier, MySQL e SquirrelMail (Debian Wheezy)

Come crittografare directory/partizioni con eCryptfs su Debian 8 (Jessie)

Come installare e configurare Postfix su Debian

Come configurare Postfix SMTP Relay su Debian con Mailjet

CentOS / RHEL:come recuperare dal file /etc/passwd cancellato