5

Mail abrufen und Anhang speichern per PowerShell Script

Wer automatisiert seine Mail abrufen und Anhang speichern will, benötigt ein PowerShell Script. Wie das funktioniert seht ihr in diesem Beitrag.

raphaelsilva / Pixabay

 

Oft gibt es den Fall, dass man automatisch Mails empfängt, beispielsweise ein Report eines Systems als PDF. Somit wären folgende Schritte nötig:

  1. Mail-Client öffnen
  2. Mail suchen
  3. Mail öffnen
  4. Anhang speichern

Dies ist sehr aufwendig. Es gibt allerdings eine Möglichkeit, die Mail abrufen und Anhang speichern, also die folgenden Schritte per PowerShell automatisiert auszuführen 🙂

 

Mail abrufen und Anhang speichern per PowerShell Script

Um das Script nutzen zu können, wird die ImapX.dll benötigt.
Diese könnt ihr direkt auf der Codeplex Seite herunterladen, oder bei uns herunterladen.
Wenn ihr damit zufrieden seid, spendet doch bitte auf der Codeplex – Seite!

Danach braucht ihr nur noch das PowerShell Script per Aufgabenplaner ausführen 🙂

Script auf administrator.de

Nun könnt ihr eure Mail abrufen und Anhang speichern per PowerShell – ganz automatisch.

IMAP4 aktivieren auf dem Exchange

Damit der Exchange dies auch zulässt, muss die IMAP4-Clientkonnektivität im Exchange 2016 aktiviert werden. Mehr dazu direkt auf unserem Blog:

https://www.itnator.net/imap4-aktivieren-auf-exchange-server/

Johannes Huber
 

In seiner Freizeit macht Johannes nichts lieber, als für ITnator Beiträge zu schreiben. Input bekommt er hierfür von Problemen in der IT Administration von Servern, Clients und vielen weiteren IT Komponenten.

  • Volker sagt:

    Hallo Johannes. Ich habe das Script ausprobiert. Für Text-Anhaenge funktioniert alles. Bei PDF-Anhaengen bekomme ich einen Fehler:

    C:\Temp\test.ps1 : Error with Attachment: ‘Rechnung.pdf’ of Message
    with ID ”: Ausnahme beim Aufrufen von “Save” mit 2 Argument(en):
    “Die Eingabe ist keine gültige Base-64-Zeichenfolge, da sie ein
    Nicht-Base-64-Zeichen, mehr als zwei Leerstellen oder in den
    Leerstellen ein Zeichen enthält, das ungültig ist. ”

    Kannst Du mir helfen ?
    Gruß Volker

  • Armin sagt:

    Hallo Johannes,
    beim laden der DLL (Add-Type -Path “$PSScriptRoot\ImapX.dll”) bekomme ich eine Fehlermeldung. OS ist Windows 10 Pro. Die DLL habe ich in das Verz. C:\PSScripts kopiert. Registrieren lässt sich die DLL leider auch nicht.
    Hast du eine Idee?
    Gruß
    Armin

    Add-Type : Die Datei oder Assembly “file:///C:\PSScripts\ImapX.dll” oder eine Abhängigkeit davon wurde nicht gefunden. Der Vorgang wird nicht unterstützt. (Ausnahme von HRESULT: 0x80131515)
    In C:\PSScripts\DownloadAttachments.ps1:19 Zeichen:1
    + Add-Type -Path “$PSScriptRoot\ImapX.dll”
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Add-Type], FileLoadException
    + FullyQualifiedErrorId : System.IO.FileLoadException,Microsoft.PowerShell.Commands.AddTypeCommand

    • Hallo @Armin,

      könntest du mir einen Teil deines Codes hier zeigen?
      Vorallem die Zeile “Add-Type -Path “$PSScriptRoot\ImapX.dll””.
      So spontan ist das für mich nicht nachvollziehbar.

      Gruß

    • Daniel Baston sagt:

      Hallo Armin,

      ich hatte die gleiche Fehlermeldung – und bin dann auf einer englischen Seite über die Lösung gestolpert:
      die IMAPX.dll muss im Explorer einmal mit rechts geklickt werden.
      Unter Eigenschaften gibt es dann einen “zulassen”-Button.
      Den einmal klicken – so sieht Windows die Datei nicht mehr als “unsicher” an…
      Bei mir lief es dann.
      Viel Erfolg!

      LG,
      Daniel

  • sidebar
    >