Используя в основном man
страниц, я предложил следующее решение для использования в Ubuntu 10.04.Создайте файл mailfilter
с именем, например, mailfilter-archive
, со следующим содержимым:
DEFAULT="$HOME/mail-archive"
MAILDIR="$DEFAULT"
# Uncomment the following to get logging output
#logfile $HOME/tmp/maildrop-archive.log
# Create maildir folder if it does not exist
`[ -d $DEFAULT ] || maildirmake $DEFAULT`
if (/^date:\s+(.+)$/)
{
datefile=`date -d "$MATCH1" +%Y-%m`
to $DEFAULT/$datefile
}
# In case the message is missing a date header, send it to a default mail file
to $DEFAULT/inbox
При этом используется команда date
, принимающая содержимое заголовка date
в качестве ввода (при условии, что оно формат RFC-2822 ) и создание отформатированной даты для использования в качестве имени почтового файла.
Затем выполните следующие действия для существующих почтовых файлов для архивирования ваших сообщений:
cat mail1 mail2 mail3 mail4 | reformail -s maildrop mailfilter-archive
Если содержимое mail-archive
выглядит хорошо, вы можете удалить почтовые файлы mail1
, mail2
, mail3
, mail4
и т. Д.