Ergebnis 1 bis 3 von 3
  1. #1

    Standard Mail an NAS und den Anhang verwerten

    Hallo,

    ich habe die dumme Idee eine Mail an mein NAS zu schicken mit einem passwortgeschützten Archiv im Anhang (*.7z-Datei z.B.), welches ich gerne in einen bestimmten Ordner entpackt haben möchte. Das Passwort ist dabei immer gleich. Ich hatte schon andere Themen hier gelesen mit Mail-Empfang und das dies möglich sei. Da die Synology NASes sehr mächtig sind, dachte ich, dass eventuell dieser Schritt auch möglich ist.
    Hat jemand sowas schon einmal gemacht? Oder zumindest Teile der Operation?

    Hintergrund: Meine Firma stellt mir Dokumente digital zur Verfügung, die sensible Daten zu meiner Person enthalten. Ein Versand dieser Dokumente ist nur verschlüsselt gestattet laut Betriebsanweisung (passwortgeschütztes Archiv). Die Daten werden von mir in unregelmäßigen Abständen manuell entpackt und abgespeichert. Die Arbeit würde ich mir gerne sparen.

  2. #2

    Idee

    Hallo DarkStiller und herzlich willkommen hier im Forum

    Was für eine DS hast du?
    Wie kommt die Mail auf deine DS? Hast du den Mailserver installiert? Wahrscheinlich geht es auch mit der MailStation, was ich aber mangels Installation nicht getestet habe. Letztendlich müssen die Mail in irgendeinem Ordner auf der DS liegen.

    Wie du hier evtl. schon gelesen hast, gibt es auch ein Perlskript für diesen Zweck, das benötigte Modul konnte ich aber auf meiner DS nicht nachinstallieren. An Stelle dessen wird hier munpack verwendet.

    Jetzt zur Umsetzung:
    • bei mir DS716+, also x86_64 Umgebung
    • installierter MailServer, empfange also E-Mails auf meine Domain / die liegen im Home-Ordner eines jeden Users im Ordner .Maildir
    • man benötigt das Programm munpack (für x86_64 einfach hier laden und aus dem Ordner "bin" entpacken - es wird nur die einzelne Programmdatei benötigt). Wenn man eine DS mit einer abweichenden CPU hat, müsste man munpack für die passende CPU finden oder selbst kompilieren …
    • das Skript z.B. mit dem Texteditor auf der DS abspeichern und auf der Shell mit chmod +x ausführbar machen
    • im Skript die persönlichen Werte anpassen
    • das Skript über den Aufgabenplaner aufrufen



    MailAttachmentParser.zip
    Ich hoffe, es hilft dir etwas weiter.

    Code:
    #!/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
    
    # 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="/volume1/homes/admin/script/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
    Geändert von geimist (20.08.2019 um 20:47 Uhr)
    Gruß Stephan
    ________________________________________
    DS716+ DSM 6.2 - 2 x 4TB WD red (Btrfs RAID-1)
    DX213 1 x Samsung EVO 860 500 GB SSD (Btrfs Basis)
    APC - Back-UPS ES 550G
    AVM Fritz!BOX 7590
    macOS 10.14

  3. #3

    Idee native Bash-Version des MailAttachmentParsers

    Falls es doch noch einmal von jemanden gebraucht werden sollte, hier die native Bash-Version ohne externe Binarys. Eine große Hilfe dafür war dieses Bashskript.

    Beim Testen hatte ich mit CSV-Dateien Probleme, da diese nicht base64-codiert waren. Außerdem habe ich nicht abgesichert, wenn ganze Ordner als gepackte Datei gemailt werden. Archive werden entpackt, sofern sie die Dateiendung .7z oder .zip haben.

    Download: MailAttachmentParser_nativ.zip

    Das Skript ist leider zu groß, um es in Textform posten zu können.
    Gruß Stephan
    ________________________________________
    DS716+ DSM 6.2 - 2 x 4TB WD red (Btrfs RAID-1)
    DX213 1 x Samsung EVO 860 500 GB SSD (Btrfs Basis)
    APC - Back-UPS ES 550G
    AVM Fritz!BOX 7590
    macOS 10.14

Ähnliche Themen

  1. Synology ruft Mails ab und speichert PDF-Anhang in NAS-Ordner
    Von duffy6 im Forum Andere 3rd Party Anwendungen
    Antworten: 7
    Letzter Beitrag: 26.08.2019, 11:23
  2. Antworten: 3
    Letzter Beitrag: 14.06.2017, 05:46
  3. E-Mail-Versand mit Anhang per Skript
    Von robot456 im Forum Sonstiges
    Antworten: 16
    Letzter Beitrag: 09.05.2016, 14:26
  4. Zarafa Mail Anhang als *.dat Datei
    Von omario im Forum Zarafa
    Antworten: 5
    Letzter Beitrag: 27.01.2015, 16:23
  5. Antworten: 13
    Letzter Beitrag: 06.02.2014, 13:02

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •