Somebytes SoftwareSomebytes Software Entwicklung

Mails+Anhänge in eine Verzeichnisstruktur nach Datum und Von-Adresse einsortieren.


In dieser Anleitung erfahren Sie, wie Sie mit EEAttachments und PowerShell Mails und deren Anhänge automatisch in eine Verzeichnisstruktur nach dem Muster Datum/Von-Adresse ablegen. Die Verzeichnisstruktur wird dabei durch das PowerShell Script erzeugt.


Nachdem Sie einen Auftrag für Ihre Mails in EEAttachments erzeugt haben, markieren Sie bitte die beiden Checkboxen "Anhänge exportieren" und "Mail exportieren".

Anschließend erzeugen Sie ein PowerShell Script mit folgendem Inhalt, welches jeweils für die Verarbeitung der Anhänge gestartet wird.

Script für Anhang (attachmentstruct.ps1):

$dt = Get-Variable -Name DateTimeReceived -ValueOnly
$file = Get-Variable -Name file -ValueOnly
$from = Get-Variable -Name From -ValueOnly
$dtstr = $dt.tostring("yyyyMMdd")
$path="C:\temp\NachDatum\"+$dtstr+"\"+$from.Address
if (!(Test-Path $path))
{
   mkdir $path
}
mv $file $path

Passen Sie den Pfad sowie das Datumsformat entsprechend Ihren Bedürfnissen an. Und tragen die Datei in EEAttachments-Auftrag bei "Pro Anhang ausführen" ein. Als Parameter benötigen Sie %file%, %subject%, %from% sowie %datetimerecived%, welche dem Script als Variablen übergeben werden.



Script für Mail (mailstruct.ps1):

$dt = Get-Variable -Name DateTimeReceived -ValueOnly
$eml = Get-Variable -Name emlfile -ValueOnly
$from = Get-Variable -Name From -ValueOnly
$subject = Get-Variable -Name subject -ValueOnly
$dtstr = $dt.tostring("yyyyMMdd")
$path="C:\temp\NachDatum\"+$dtstr+"\"+$from.Address
if (!(Test-Path $path))
{
mkdir $path
}
[System.IO.Path]::GetinvalidFileNameChars() | ForEach-Object {$subject = $subject.Replace($_," ")}
$newfilename = $path + '\' + $subject +'.eml'
mv $eml $newfilename

Passen Sie den Pfad sowie das Datumsformat entsprechend Ihren Bedürfnissen an, und tragen das Script im EEAttachments-Auftrag bei "Pro Mail ausführen" ein. Als Parameter benötigen Sie %subject%, %from% sowie %datetimerecived%.



Die Spripte wurden anschließend noch etwas erweitert, sodass nun auch die Kategorie und das Projekt (Jobname) im Pfad genutzt wird.

Der Pfadname sieht dann so aus: X:\Exportordner\[Projektname]\[Datum]\[Mailadresse]\[Kategorie]\[Dateiname aus Betreff]

Hier können Sie die beiden erweiterten Powershellscripte herunterladen und evtl. an Ihre Bedürfnisse anpassen.