Bueno amigos necesito obtener todos los mails que se encuentran en el archivo del mainlog que deja exim y hasta ahora tengo el siguiente codigo, pero realmente las expresiones regulares no son mi fuerte por ende no he podido dar con el clavo.
Me pueden ayudar a formar bien la expresión regular para la búsqueda.
Código PHP:
Ver original#archivo para examinar
$archivo = '/var/log/exim/mainlog';
#buscamos el archivo mainlog del exim
#vemos si es posible tomar el contenido del archivo y lanzarlo a un string
#obtenemos todos los mails de la variable $base que tiene todo el archivo
preg_match_all('/^[a-zA-Z0-9]+(\.[_a-zA-Z0-9-]+)*@([_a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]{2,200}\.[a-zA-Z]{2,6}$/',$base,$emails); #mostramos el array emails
}else{
print 'El archivo '.$archivo.' no se ha podido leer correctamente
';
}
#si no existe el archivo
}else{
print 'El archivo '.$archivo.' no existe...
';
}
Extracto del archivo mainlog:
Cita: 2010-08-28 13:51:53 H=correo2.gtdinternet.com [200.75.0.11] incomplete transaction (connection lost) from <
[email protected]> for
[email protected]
2010-08-28 13:51:53 unexpected disconnection while reading SMTP command from correo2.gtdinternet.com [200.75.0.11]
2010-08-28 13:51:53 H=122-180-179-94.pool.ukrtel.net (ukrtel.net) [94.179.180.122] incomplete transaction (QUIT) from <
[email protected]>
2010-08-28 13:51:53 1OpPZJ-0006RS-DN <= <> H=(ns) [190.208.17.163] P=esmtp S=3512 id=J4dErcD9Y00000abc@ns T="Notificaci=?unicode-1-1-utf-7?Q?+APM-n \n de \n estado \n de \n entrega \n (Error)?=" from <> for
[email protected] Muchas gracias.