Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

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 archivo 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) Crear el archivo /etc/mail/sendmail.cf a partir de /etc/mail/sendmail.mc:

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

NOTA: Debido a la antigüedad de msgidruleset.m4 (1998), es normal que devuelva un error que indica que FEATURE debe ir antes de mailer(SMTP). De cualquier forma funcionará.

5) 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 archivo /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 archivo /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, con muchas menos complicaciones, 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.


Atención: Salvo que se indique lo contrario, la licencia del texto de este documento es Creative Commons Reconocimiento 2.5, mediante la cual usted tiene permitido copiar, modificar, comunicar y distribuir el contenido de este texto, de manera total o parcial, y publicarlo o difundirlo en cualquier otro sitio de Internet o medio de comunicaciòn, siempre y cuando incluya o cite (1)el nombre de este sitio de Internet, (2)enlace permanente de este documento, (3)nombre del autor y (4)la misma licencia de distribución.

Opciones: Imprimir | Recomendar | Enlace permanente

Twitter Facebook Google Bookmarks Bitacoras.com Wikio Menéame Technorati Bloglines Digg Yahoo Buzz

Seguimientos (Trackback)

URL de seguimiento para esta entrada:
http://www.alcancelibre.org/trackback.php/como-sendmail-mail-archive

[...] casos, ésto puede ocurrir en un mismo día. Por lo tanto, es imperativo disponer de mucho espacio de almacenamiento.FuenteSHARETHIS.addEntry({ title: "Cómo guardar copia de todos correos enviados y recibidos con Sendmail", url: [...] [leer más]

  • Cómo guardar copia de todos correos enviados y recibidos con Sendmail.
  • 3comentarios
  • Crea cuenta nueva
Agregar comentario

Los siguientes comentarios son de la persona que los haya enviado. Este sitio se deslinda de cualquier responsabilidad respecto de las opiniones expresadas por los participantes en nuestros foros y secciones de comentarios, y el hecho de publicar las mismas no significa que se esté de acuerdo con éstas.

  • Cómo guardar copia de todos correos enviados y recibidos con Sendmail.
  • Escrito por:moy el  04/08/2010, 22:48

Me muestrael siguiente error

Iniciando sendmail: *** ERROR: FEATURE() should be before MAILER()
 y si lo pongo antes

Iniciando sendmail: *** MAILER(smtp) must appear before cop[  OK  ]iler
 

 

  • Cómo guardar copia de todos correos enviados y recibidos con Sendmail.
  • Escrito por:Danielynx el  05/08/2010, 22:30

He aplicado los pasos y tengo lo siguiente:

1.- todos los correos los coloca en la cuenta copyuser, llegan doble y no se entrega una copia al usuario original.

2.- Me arrogo por cada correo un mensaje de estos:


The original message was received at Thu, 5 Aug 2010 16:31:57 -0500 from localhost.localdomain [127.0.0.1] ----- The following addresses had permanent fatal errors -----

algun comentario??

 

Gracias

  • Cómo guardar copia de todos correos enviados y recibidos con Sendmail.
  • Escrito por:Joel Barrios Dueñas el  05/08/2010, 23:44

Añadele esto a /etc/procmailrc:

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

---
--
Joel Barrios Dueñas.
Director General Alcance Libre, A.C.
http://www.AlcanceLibre.org/
La libertad del conocimiento al alcance de quien la busca.