PHP preg_replace/ereg_repace
если память не изменяет рег выр. выглядит так
"(a-zA-Z1-9)*\@mail\.ru" для мейла
и так скриптом в отдельные файлы для mail, yahoo, yandex и т д
для "обрезания" можно написать короткую прогу (я писал на c) или темиже рег. выражениями.
только сразу скажу что например для mail.ru ЛОГИН можно писать и с "@mail.ru" тоесть как vasya так и
vasya@mail.ru будет одно и тоже
А если у тебя все в SQL базе, то запрос вида
SELECT * FROM users WHERE email LIKE '%@mail.ru' INTO OUTFILE '../../text.txt'
LIKE '%@yandex.ru' соответственно для яндекса