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:
Muchas gracias. 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]
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]