2012-03-02 3 views
0

Я искал ответ на этот вопрос в течение последних 2 часов. У меня есть сервер sendmail с одним почтовым ящиком, в котором есть 13 000 сообщений электронной почты. Сегодня пользователь открыл Outlook, и он начал загружать все эти сообщения, хотя большинство из них уже было загружено Outlook ранее, что дублирует все 13 000. К счастью, она закрыла Outlook примерно на тысячу загруженных отметок. У пользователя есть «Удалить с сервера через 20 дней», установленный в Outlook.Как удалить сообщения электронной почты на сервере sendmail?

Мне нужно удалить через командную строку все сообщения с 11 февраля по 29 февраля в этом почтовом ящике пользователей. Я знаю, как удалять сообщения из очереди, но не из почтового ящика, потому что я действительно не уверен, где находятся файлы сообщений электронной почты.

Я бы очень признателен за любую помощь или указал мне в правильном направлении.

Спасибо!

+0

Какой почтовый сервер? Это обмен? –

+0

Сервер CentOS работает с «sendmail». – Spencer

+0

Хорошо, хорошо! : P, у меня нет опыта использования MTA по умолчанию с centos, но я использую настройку Postfix/courier. в почтовом ящике каждого пользователя (в этом случае ~/.maildir) ther - это папка .Sent, содержащая отправленные сообщения, вместе с cur, tmp, новые папки и подпапки, в которых хранятся все электронные письма. Старые прочитанные электронные письма хранятся в папках cur. Я надеюсь, что это приведет вас к правильному пути, но для всех, кого я знаю, структура maildir sendmail может быть не близкой :( –

ответ

0

Обычная конфигурация заключается в том, что sendmail отправляет почту пользователю в/var/spool/mail/[username]. Этот файл - это всего лишь сообщения для пользователя, объединенные вместе. (Каждое сообщение начинается с строки, начинающейся с «От».)

Я думаю, что вы можете точно сказать, посмотрев /etc/sendmail.cf. Найдите строку, начинающуюся с «Mlocal». Это описывает, как будет поставляться локальная электронная почта. Строка «P =» указывает, какая программа выполняет эту работу. Я думаю, что CentOS в настоящее время указывает/usr/bin/procmail, и если у пользователя нет файла ~/.procmail, он делает то, что я описал выше.

Вы можете просто перенести файл/var/spool/mail в другой каталог в/разделе - это безопасно, потому что mv в файловой системе является атомарным на уровне ядра. Затем вы можете отредактировать файл, как хотите. Это немного трогательно, отложив отредактированный файл, потому что вы можете сделать это в тот же момент, когда sendmail доставляет другое сообщение. Самый безопасный способ - остановить sendmail, а затем объединить сообщения, которые вы хотите сохранить, в/var/spool/mail/[user], или если он не существует, просто переместите его обратно. Затем перезапустите sendmail.

Смежные вопросы