Сервер, который я помогаю администрировать, имел серьезную проблему с файловой системой, и теперь внутри много файлов. /lost+found
каталог. Я бы хотел найти user@example.com
с получили и послал почтовые ящики. Мы используем формат электронной почты Maildir, Postfix в качестве MTA и Dovecot в качестве сервера POP3 / IMAP в Debian Squeeze.
Я уже пробовал
grep -r ".*user.*"
и
grep -r ".*From: \"John Doe.*"
Большинство результатов, в которых файлы вроде 1412216683.V804I9e3a201M324743.example
внутри каталогов, таких как Maildir10805257/new/
. Поскольку есть много разных Maildir/new
каталоги, я хотел бы знать, есть ли конкретный user@example.com
почтовый ящик, и если да, то если кто-то знает, как его найти. В противном случае, будут ли его оставшиеся сообщения разбросаны по этим каталогам?
Для полученного письма, ты можешь положиться на Доставлен в для определения правильного получателя так как @sebix сказал в комментарии выше. Проблема в том, что если в электронном письме более одного Доставлен в заголовок. Таким образом, вы должны изменить grep для поиска в почтовом ящике user@example.com
grep -r -m 1 '^Delivered-To:' directory/ | grep user@example.com
Для отправленного письма, ты можешь положиться на Из заголовок. Опять же, вы должны ограничить его при первом появлении.
grep -r -m 1 '^From:' directory/ | grep user@example.com