[Ayuda] sendamil

Gunnar Wolf gwolf en gwolf.org
Mar Dic 28 12:25:07 CST 2004


Martin Romano dijo [Tue, Dec 28, 2004 at 01:32:15PM +0400]:
> Hola
> 
> tengo sendmail corriendo en un redhat, la pregunta es como administrar 
> esto es decir
> como puedo saber la cantidad de mails que salen que entran, quienes 
> escribe y a quien, a quienes les escriben y quien

Asómate a las bitácoras - Si no me equivoco, el Sendmail en RedHat
guarda sus bitácoras en /var/log/mail.log, puede que esté en algún
otro lado, pero con un nombre bastante similar. Vas a encontrar que
tiene una estructura +- así:

Nov  7 09:00:41 imrldmz1 sendmail[864]: [ID 801593 mail.info] fA780fU00864: from=<direccion1(a)ebay.de>, size=1975, class=0, nrcpts=1, msgid=<200111070804.fA7848u20675(a)damar.ebay.com>, proto=SMTP, daemon=MTA, relay=miles.ebay.com [216.33.156.140] 
Nov  7 09:00:42 imrldmz1 sendmail[866]: [ID 801593 mail.info] fA780fU00864: to=<direccion2(a)orangemail.ch>, delay=00:00:01, xdelay=00:00:00, mailer=esmtp, pri=121975, relay=smtp.orangemail.ch. [192.168.20.2], dsn=2.0.0, stat=Sent (Message received: GMF7V600.IJK) 

(este ejemplo lo tomé de
http://logreport.org/contact/lists/questions/msg00006.php - No te
puedo mandar copias de mis bitácoras, pues yo uso Postfix en vez de
Sendmail, no te serviría de mucho). 

Aquí puedes ver la estructura general: Siempre vas a comenzar con
fecha, hora, hostname, servicio (en este caso sendmail), ID del
proceso (864 y 866), algún pedacito extra (no sé qué sea el [ID 801593
mail.info]), y ahí es donde comienza la información que te interesa:
tienes una cadena que es el identificador del mensaje
(fA780fU00864). Las diferentes acciones que se tomen sobre un mensaje
se van a registrar en diferentes líneas, y con esta cadena puedes
recolectar toda la información relativa al mismo mensaje. En este
caso, en la primer línea aparece que el correo fue originado por
"direccion1 en ebay.de", y en la segunda línea ves que el destinatario es
"direccion2 en orangemail.ch". 

Vamos a escribir un scriptcito muy simple que te reporte cada uno de
los correos que pasaron por este servidor, el remitente y el
destinatario. Nuevamente, estoy asumiendo que el formato de bitácora
que estoy revisando es lo que voy a encontrar en todos lados -
Especialmente, que antes del ID del mensaje me voy a encontrar siempre
con un "mail.info]". Puede que me equivoque, pero bueno, siempre hay
maneras de resolverlo ;-)

----------------------------------------------------------------------
#!/usr/bin/perl
use strict;
use IO::File;
my (%mensajes, $log);

$log = IO::File->new('/var/log/mail.log, 'r') or 
    die "No pude abrir el archivo: $!";

while (my $linea = $log->getline) {
    # Procesamos cada línea del archivo
    my ($id);

    # Encontramos el ID del mensaje
    unless ($linea =~ s/^.*mail.info\] (\S+)://) {
        warn "No pude encontrar el ID ($linea)";
	next;
    }
    $id = $1;

    if ($linea =~ /from=\<([^\>]+)\>/) {
        # Acá tenemos la información del remitente
        $mensajes{$id}{from} = $1;
    } elsif ($linea =~ /to=\<([^\>]+)\>/) {
        # Acá tenemos la información del destinatario
        $mensajes{$id}{to} = $1;
    }
} 

for my $id (keys %mensajes) {
    print "Mensaje $id: De $mensajes{$id}{from}, para $mensajes{$id}{to}\n";
}
----------------------------------------------------------------------

Claro, puedes hacer un análisis mucho más completo, tomar en cuenta el
resto de los campos, lo que gustes... Pero esto te lo ilustra en lo
general ;-)

Hay herramientas que te pueden ayudar mucho con el análisis de esta
bitácora. Las primeras que me encontré:

http://www.klake.org/sma/ (un ejemplo de su salida:
http://www.klake.org/sma/example.html) 

http://logreport.org/ (mucho más genérico pero más potente)

...Y seguro encontrarás muchos más ;-)

> ademas muy importante saber como hacer copias de correo entrante y 
> saliente de casilla de mail escogidas por la empresa

Bueno... Acá tienes que responder antes de otra cosa: ¿Estás seguro
que lo que estás haciendo es legal? Más allá, ¿estás seguro que
quieres hacerlo? Acuérdate que el volúmen de información que vas a
registrar puede ser demasiado alto. 

Ahora, nuevamente, tiene varios años que no uso sendmail. Prefiero
mantenerme al márgen de esta parte de tu pregunta... En parte porque
no me gusta, en parte porque no te la sabría responder ;-)

Saludos,

-- 
Gunnar Wolf - gwolf en gwolf.org - (+52-55)1451-2244 / 5554-9450
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973  F800 D80E F35A 8BB5 27AF


 
_______________________________________________
Ayuda mailing list
Ayuda en linux.org.mx
Para salir de la lista: http://mail.linux.org.mx/cgi-bin/mailman/listinfo/ayuda/



Más información sobre la lista de distribución Ayuda