Mi sono permesso di modificare leggermente una funzione fatta da andr3a, presa da qui :

codice:
function get_mail( $m ) {
	// andr3a / caruccis
	$r1 = "(?:[a-z0-9]+[";
	$r2 = "\-]?){1,3}[a-z0-9]*";
	 preg_match_all("/(?i){$r1}\._{$r2}\@{$r1}\.{$r2}\.[a-z]{2,6}/", $m,$mailz);
    return $mailz[0];
}
ti restiuisce un array con le email trovate nella stringa che passi come parametro alla funzione.