Cómo guardar copia de todos correos enviados y recibidos con Sendmail

A continuación describo un breve instructivo para configurar Sendmail para que guarde una copia de cada mensaje que sea enviado y recibido en el servidor. Esto es particularmente útil en corporaciones donde se requiera un control de la información que entra y sale del servidor de correo electrónico. Está de más decir que requiere disponer de una enorme cantidad de espacio libre en disco duro o unidad de almacenamiento.

Procedimientos.

1) Crear la cuenta de usuario (copyuser) para el archivo de correo electrónico:

useradd -s /sbin/nologin copyuser
passwd copyuser

2) Cambiar al directorio de macros de función de Sendmail y descargar msgidruleset.m4 (creado por Robert Harker, sitio original despareció hace algunos años):

cd /usr/share/sendmail-cf/feature/
wget http://www.alcancelibre.org/linux/secrets/msgidruleset.m4

3) Editar el fichero de macros de Sendmail:

vim /etc/mail/sendmail.mc

Debajo de (que está casi hasta abajo):

MAILER(smtp)dnl
MAILER(procmail)dnl

Colocar:

FEATURE(msgidruleset)dnl

De modo que quede así:

MAILER(smtp)dnl
MAILER(procmail)dnl
FEATURE(msgidruleset)dnl
dnl MAILER(cyrusv2)dnl

4) Reiniciar sendmail:

service sendmail restart

Para complementar, es importante que cualquier correo electrónico enviado directamente a la cuenta copyuser se elimine automáticamente, ya que de otra forma habría un bucle infinito. Para lograr este fin, se edita o crea el fichero /etc/procmailrc y se añade lo siguiente:

# Eliminar correo que va directo a copyuser
:0
* ^To.*copyuser
/dev/null

Para guardar una copia de cada mensaje recibido en el servidor, se añade al fichero /etc/procmailrc lo siguiente.

# Guardar copia de cada mensaje de correo recibido
:0 c
/var/spool/mail/copyuser

Lo mismo con Postfix.

El mismo efecto se logra en Postfix utilizando el parámetro always_bcc indicando como valor una cuenta de correo local o remota.

postconf -e 'always_bcc = copyuser@domino.com'
service postfix restart

Comentarios finales.

Es importante enfatizar que se debe tratar de depurar a diario la cuenta copyuser, porque puede saturarse rápidamente el espacio disponible y, en algunos casos, ésto puede ocurrir en un mismo día. Por lo tanto, es imperativo disponer de mucho espacio de almacenamiento.

Fuente