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:
- Mail-Client öffnen
- Mail suchen
- Mail öffnen
- 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.deNun 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/
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
Hallo Volker,
funktionieren noch andere Dateitypen, oder auch andere PDFs?
Die Fehlermeldung ist gerade im Moment für mich nicht nachvollziehbar.
Gruß
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ß
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