Re: 2 вопроса по очистке папки от спама

От: Andrew A. Vasilyev <CGatePro_at_mx_ru>
Дата: Wed 08 Oct 2008 - 23:46:20 MSD

On Wed, Oct 08, 2008 at 11:12:27PM +0400, Lebedev Dmitriy wrote:
> 1) Насколько правильно (и безопасно) удалять письма в этой папке
> просто как файлы при помощи шелл-команды типа
> find /var/CommuniGate/Accounts/spam.mdir -mtime +30 -type f -exec rm -rf {} \;
> (удаление писем в папке, старше одного месяца)?
> В логах вижу, что CGP корректирует размер этой папки при обращении к ней по POP3. Это не страшно, можно использовать такую команду "в промышленных масштабах" в течение долгого периода? Или это неправильно?
  Судя по знакомству с командой find и форматированию абзацев в одну строку,   для автора не составит труда разобраться с классом Mail::IMAPClient и   написать скрипт, который по IMAP удаляет нужные письма, например, так:   my $imap = Mail::IMAPClient->new(Server => $Server,

				   User   => $Login,
				   Password => $Password);

  my $f = "~$name\@$domain/SPAM";

  if($imap->select($f)) {

      my @old_list = $imap->before(time() - 30*3600);
      if(@old_list > 0) {
	  if($imap->delete_message(\@old_list)) {
	      if($imap->expunge($f)) {
	      ...

  Обработку ошибок, статистику и т.п. добавлять по вкусу. В конце сказать $imap->logout();   Список ящиков можно получить через CLI или проходом по файловой системе.


        ANDY Получено Wed Oct 08 19:46:26 2008

Этот архив был сгенерирован hypermail 2.1.8 : Thu 09 Oct 2008 - 00:14:07 MSD