сценарий оболочки для извлечения почтовых вложений с определенным именем файла - PullRequest
0 голосов
/ 27 февраля 2010

Я пишу сценарий оболочки для извлечения почтовых вложений из файла mbox

В данный момент я использую эту команду: cat mboxfile | formail -des munpack -qf

Но я бы хотел вставить адрес электронной почты отправителя в имя файла, например:

user@host_filename.extension

Можете ли вы предложить мне какой-нибудь инструмент?

Ответы [ 2 ]

1 голос
/ 28 февраля 2010

РЕШИТЬ:

cat $MBOX|formail -des ../dumpFile.sh  # split the mbox in many messages

for mail in *  # cycle on every message
do
 echo ===========================
 FROM=$(../extractFrom.sh $mail |tr -d "<"|tr -d ">"|tr -d "/" |sed 's/@/-AT-/'|tr "." "-"|sort|uniq) # get address
 for file in $(munpack $mail |cut -f1 -d" "|tr -s "_" "-")  # extract attachments and prepend address
 do
  echo ln $file utente:${FROM}_tipo:$file # whatever
 done
done

где dumpFile.sh просто:

cat >$(mktemp -p .)

и extractFrom.sh - скрипт awk для получения адреса электронной почты

1 голос
/ 27 февраля 2010

Почему бы не использовать язык сценариев с библиотеками mbox? например Perl и модуль Mail :: MBox . Использование готовой библиотеки, скорее всего, избавит вас от горя.

...