#!/bin/sh # /volume1/homes/admin/script/MailAttachmentParser.sh # durchsucht den angegebenen Quellordner nach E-Mails mit 7z-Dateianlage, extrahiert und entpackt diese in den Zielordner # https://www.synology-forum.de/showthread.html?103185-Mail-an-NAS-und-den-Anhang-verwerten&p=833583&viewfull=1#post833583 # PARAMETER ANPASSEN: MAILDIR="/volume1/homes/admin/.Maildir/cur" # Quellverzeichnis DESTDIR="/volume1/homes/admin/dump/" # Zielverzeichnis DELDIR="/volume1/homes/admin/.Maildir/.Trash/cur" # Löschverzeichnis DelMail="no" # "yes" um abgearbeite E-Mails zu löschen munpack="./mailunpack" # Pfad zu munpack unzipPW="" # Kennwort zum entpacken #---------------------------------------------------------- for i in $(find "$MAILDIR" -type f) do filename=$(basename $i) if ( cat "$i" | grep -q "base64" ) && ( cat "$i" | egrep -q "name=.*\.7z" ) ; then # prüfen, ob "base64" und "name=*.7z" in der Mail vorkommen # temporäres Arbeitsverzeichnis erstellen work_tmp=$(mktemp -d -t tmp.XXXXXXXXXX) trap 'rm -rf "$work_tmp"; exit' EXIT # Mail extrahieren: cp $i $work_tmp/$filename $munpack $work_tmp/$filename -C $work_tmp # Archiv nach Zielordner entpacken for z in $(find "$work_tmp" -type f -name "*.7z") do 7z e $z -o$DESTDIR -p${unzipPW} -aou done fi if [ $DelMail = "yes" ]; then mv $i $DELDIR fi rm -rf "$work_tmp" done exit