Удалите/Удалите Вложения из почтового сервера (IMAP)

[118027] Из соображений производительности, ext4 по умолчанию записывает через журнал только метаданные файловой системы.

Я полагаю, что XFS также записывает в журнал все транзакции с метаданными, если только вы не подкорректировали файловую систему. [118030]

2
17.12.2014, 18:12
3 ответа

У меня был следующий бит Perl, который покладывает все вложения от STDIN и возвращает STDOUT, которая может помочь:

#!/usr/bin/perl -w
use strict; 

use Mail::Audit; 
use Mail::Audit::Attach qw(Attach); 

my $mail = Mail::Audit->new; 

my $attachments = $mail->attachments; 

foreach (@$attachments) 
{ 
      $_->remove; 
} 
$mail->print();

и, чем простой цикл по файлам в вашем Maildir, вы хотите отделить Вложения для INSNTANCE:

for filename in <list> 
do 
  ./strip.pl < "$filename" > "$filename".lock && mv "$filename".lock "$filename" 
  rm "$filename".lock
done 

Интересная модификация может быть сначала извлечь вложения и хранить их отдельно, прежде чем удалять их из почты:

foreach (@$attachments) 
{ 
      $_->save("/path/to/attachment/dir");
      $_->remove; 
}

сначала сделать резервную копию;) [)

2
27.01.2020, 22:21

Для этого можно использовать Thunderbird и аддон AttachmentExractor. Просто добавьте почтовый аккаунт в Thunderbird, а затем запустите AttachmentExtractor. Он может удалить содержимое вложений, сохранив имя файла вложения в вашей почте.

0
27.01.2020, 22:21

Удалить вложения на сервере очень просто, это всего лишь (текстовые )файлы. -Выделение писем с вложением (обычно больших):

find -P /home/*/mail/*/*/* -mindepth 1 -maxdepth 1 -name "*=*" -size +2M -mtime '+367'

Работает на 100% на сервере WHM с почтовым каталогом,не тестировался с mbox

  • Цикл по файлам
  • if grep -e '------=_' ${file};#содержащие строки.... затем
  • разделите электронные письма по общим критериям, например.:csplit --prefix=split4mail2clean. -z ${file} /commonstring/
  • выделить/найти в разделенных файлах строки, вложения будут иметь некоторые типичные строки, удалить эти части
  • объединить оставленные временные разделенные файлы (те, у которых нет типичных вложений )в обратном порядке, чтобы восстановить исходное электронное письмо
  • повторно применить метку времени модификации
  • при необходимости займитесь другими делами здесь

Для успеха вам может понадобиться еще 3, 4 возможных условия IF и удалить, если файл содержит эту строку... Запускать этот сценарий оболочки рекомендуется из временной папки, настраивать размеры и другие критерии поиска. Да, у меня есть рабочий скрипт, протестированный на 40000 почтовых файлов, и он оставляет 0 вложений в соответствии с указанными критериями поиска и удаления.

-1
27.01.2020, 22:21

Теги

Похожие вопросы