Con este sencillo script podemos extraer todos los emails de cualquier fichero (en formato texto plano) cómodamente. En el array $ficheros_emails ponemos los nombres de los ficheros que contienen los emails que queremos extraer y $fichero_destino es el fichero donde los vamos a escribir.
El resultado se muestra en la pantalla (se muestran numerados los emails que se extraen de cada fichero) y se guarda en el fichero.
$ficheros_emails = array('/home/gorka/Escritorio/email1.txt', '/home/gorka/Escritorio/emails2.txt');
$fichero_destino = '/home/gorka/listado_emails.txt';
$fd = fopen($fichero_destino, "w");
$cuenta = 1;
foreach($ficheros_emails as $fichero_emails)
{
$contenido_fichero = file_get_contents($fichero_emails);
preg_match_all("([A-Za-z0-9_.-]+@[A-Za-z0-9_.-]+.[A-Za-z0-9_-]+)", $contenido_fichero, $resultado);
echo "
Emails del fichero: $fichero_emails
";
foreach ($resultado[0] as $email)
{
echo "
$cuenta.- $email";
fwrite($fd, $email . "\n");
$cuenta++;
}
}
fclose($fd);

