2010-02-27 2 views
0

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

На данный момент я использую эту команду: кошка mboxfile | FORMAIL -деза munpack -qf

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

[email protected]_filename.extension

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

ответ

1

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

+0

потому что я не знаю perl;) Сначала я хотел бы найти решение оболочки ... – atrent

+0

Я бы рекомендовал изучить более мощный язык сценариев. Не должен быть Perl - возможно, Ruby/Python и т. Д.? Но я ценю, что это не поможет вам прямо сейчас. –

+0

Я думаю, что поеду на питон ... спасибо – atrent

1

РЕШИТЬ:

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 сценария, чтобы получить адрес электронной почты