il titolo dà poco spazio all'immaginazione

in pratica se ho un testo tipo:

$_POST['messaggio'] = 'ciao questo è il mio indirizzo mail@mymail.it';

deve venir fuori questo:

ciao questo è il mio indirizzo [edit: per motivi di privacy l'indirizzo email è stato cancellato]

ho provato con questa espressione regolare:

$_POST['messaggio'] = eregi_replace("^([a-z0-9\._-]+)(@[a-z0-9\.-_]+)(\.{1}[a-z]{2,6})$", "[edit: per motivi di privacy l\'indirizzo email è stato cancellato]", $_POST['messaggio']);

ma funziona solo se nel testo c'è solo l'indirizzo email e nient'altro.

Cioè funziona con una stringa tipo:

$_POST['messaggio'] = 'mail@mymail.it';

come posso modificarla?