Este tutorial muestra cómo instalar y usar alterMIME. alterMIME es una herramienta que puede agregar automáticamente un descargo de responsabilidad a los correos electrónicos. En este artículo explicaré cómo instalarlo como filtro Postfix en Debian Squeeze.
1 nota preliminar
Supongo que Postfix ya está instalado y es completamente funcional. No explicaré cómo instalar Postfix y configurar cuentas de correo electrónico en este tutorial.
2 Instalación de alterMIME
alterMIME se puede instalar de la siguiente manera:
apt-get install altermime
A continuación, creamos el filtro de usuario con el directorio de inicio /var/spool/filter filter - alterMIME se ejecutará como ese usuario:
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
Luego creamos el script /etc/postfix/disclaimer que ejecuta alterMIME. El paquete alterMIME de Debian viene con un script de muestra que simplemente podemos copiar a /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
Ahora, el problema con este script es que no distingue entre los correos electrónicos entrantes y salientes, simplemente agrega un descargo de responsabilidad a todos los correos. Por lo general, desea descargos de responsabilidad solo para los correos electrónicos salientes, e incluso entonces no para todas las direcciones de los remitentes. Por lo tanto, modifiqué un poco el script /etc/postfix/disclaimer; llegaremos a eso en un minuto.
En este momento, creamos el archivo /etc/postfix/disclaimer_addresses que contiene todas las direcciones de correo electrónico del remitente (una por línea) para las cuales alterMIME debe agregar un descargo de responsabilidad:
vi /etc/postfix/disclaimer_addresses
[email protected] [email protected] [email protected] |
#!/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 $? |
# # 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: [...] |