flo985
Goto Top

Outlook Mail in Explorer speichern mit Zeitstempel der Mail

Moin zusammen,
habe bei google nichts passendes gefunden.

Möchte gerne folgendes erreichen, ich hoffe es gibt eine Möglichkeit.

Und zwar möchte ich eine Mail aus Outlook heraus auf einem Netzlaufwerk speichern. Dies geht ja einfach wenn ich die Mail rüber ziehe oder speichern unter sage. Allerdings hat die Mail dann natürlich als Zeitstempel (Erstelldatum / Änderungsdatum) den Zeipunkt zu der ich sie kopiert habe. Gibt es eine Möglichkeit die Mail zu speichern, so dass ich als Zeitstempel das der Mail habe?

Ich hoffe ich habe mich soweit klar ausgedrückt. Danke schon mal.

Content-Key: 223223

Url: https://administrator.de/contentid/223223

Ausgedruckt am: 28.03.2024 um 17:03 Uhr

Mitglied: Snowman25
Snowman25 29.11.2013 um 10:03:06 Uhr
Goto Top
Hallo @Flo985,

Meines Wissens nach geht das nicht. Du kannst aber im Nachhinein die Zeitstempel der Datei manipulieren, sodass diese dann die entsprechenden Daten aufweisen. Dies ist aber ein eher langwieriger / manueller Prozess, der sich nicht zur Massenspeicherung von E-Mails eignet.

Software hierfür:
NirCMD
Moo0 TimeStamp
Powershell:
$(Get-Item <DATEI>).creationtime=$(Get-Date "mm/dd/yyyy hh:mm am/pm")
$(Get-Item <DATEI>).lastaccesstime=$(Get-Date "mm/dd/yyyy hh:mm am/pm")
$(Get-Item <DATEI>).lastwritetime=$(Get-Date "mm/dd/yyyy hh:mm am/pm")

Gruß,
@Snowman25
Mitglied: Flo985
Flo985 29.11.2013 um 10:46:32 Uhr
Goto Top
Hi, danke für deine Antwort.
Bei ca. 500 Mails doch mehr als mühselig face-sad
Mitglied: Snowman25
Snowman25 29.11.2013 um 11:10:21 Uhr
Goto Top
Ich hab da eben noch etwas gefunden, Leider Trialware: TechHit MessageSave.
Speichert im MSG-Format
Mitglied: keine-ahnung
keine-ahnung 29.11.2013 um 11:53:06 Uhr
Goto Top
Hi,

Du kannst Dich auch mal hier umschauen, die bauen eigentlich auch relativ viel Nützliches und Unnützes ... face-wink.

LG, Thomas
Mitglied: colinardo
Lösung colinardo 29.11.2013, aktualisiert am 09.04.2019 um 16:34:32 Uhr
Goto Top
Hallo Flo985,
da habe ich ein passendes AutoIT Script für dich, das alle Nachrichten eines Outlook-Ordners als MSG-Dateien exportiert und gleichzeitig den Zeitstempel im Dateisystem entsprechend anpasst. Der Ausgabe-Ordner der Mails steht in Zeile 3 (ohne Slash am Ende); das Outlook Konto/Store muss in Zeile 5 angegeben werden; der Ordner in dem sich die Mails befinden gibt man in Zeile 7 an. Standardmäßig werden auch alle enthaltenen Unterordner mit exportiert. Möchte man das nicht, muss man die Variable in Zeile 9 auf false festgelegt werden.
Die Mails werden nach folgendem Schema benannt im Zielordner abgelegt: [ABSENDERMAIL]_[ENTRYID].MSG

back-to-topOutlook Message Export (AutoIt-Script)
Download hier: msg_export_223223.au3

In der jetzigen Einstellung überschreibt das Script bei bereits schon mal durchgeführtem Export keine existierenden Mails im Ordner. d.h man kann es regelmäßig ausführen lassen ohne das jedes mal erneut alle Mails exportiert werden müssen. So werden nur neu hinzugekommene Mails exportiert.

Grüße Uwe
Mitglied: colinardo
colinardo 15.12.2013 um 14:11:51 Uhr
Goto Top
Wenn's das dann war, Beitrag bitte noch auf gelöst setzen, und den(die) entsprechenden Kommentar(e) welche deiner Lösung am nächsten kommen, markieren. Merci.

Grüße Uwe
Mitglied: Galipoli
Galipoli 03.03.2015 um 19:57:00 Uhr
Goto Top
Hallo Uwe,

wollte dein Script gerne zum archivieren nutzen habe allerdings ein kleines Problem.
Bei einigen mails werden mir falsche Namen Angezeigt, das liegt daran das die eigentlichen Konten von denen gesendet wurde, ursprünglich andere Inhaber hatten.
Hast du vielleicht einen Tipp was ich eintragen müßte um mir den aktuellen Namen des Absenders oder seine email Adresse anzeigen zu lassen?!
Hatte es selbst mit $msg.from probiert, da in der Internetkopfzeile der Mail dort die Daten angezeigt werden die ich benötige. Mit $msg.to bzw. $msg.cc funktioniert dies problemlos, allerdings mit From wird das Feld einfach leer gelassen.

Bin um jeden Tipp dankbar hierzu,

Schönen Gruß,
Marc
Mitglied: colinardo
colinardo 03.03.2015, aktualisiert am 04.03.2015 um 19:49:22 Uhr
Goto Top
Hallo Marc,
Hast du vielleicht einen Tipp was ich eintragen müßte um mir den aktuellen Namen des Absenders oder seine email Adresse anzeigen zu lassen?!
die verfügbaren Eigenschaften des Mailitems kannst du hier nachlesen:
https://msdn.microsoft.com/en-us/library/microsoft.office.interop.outloo ...

Die davon in Frage kommenden sind SenderName und SenderEMailAddress

Ansonsten lassen sich die E-Mail Header nur Raw auslesen und dann via Regex den gewünschten Header extrahieren...
https://msdn.microsoft.com/de-de/library/office/ff863046.aspx

Du musst halt genau spezifizieren bei welchen Mails diese Änderung vorgenommen werden muss und welchen Header du benötigst, dann kann ich dir beim Script weiterhelfen.

Grüße Uwe

p.s. Das Reaktivieren älterer Threads sehen wir hier eigentlich nicht so gerne, wenn dann via PM damit die Beteiligten hier nicht weiter belästigt werden. Merci.

-edit-

Ich gehe einfach mal davon aus das du den From: Header der Mail extrahieren willst. In diesem Fall macht man das so:
$strHeader = $msg.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x007D001E")  
$result = StringRegExp($strHeader,"(?im)^From:\s*(.*)$",1)  
if @error = 0 then
    $from = $result
else
    $from = $msg.SenderEMailAddress
endif
das ganze anstatt der Zeile 21 eingefügt, fertig.
Mitglied: park757
park757 12.02.2016 um 13:34:05 Uhr
Goto Top
Hallo,


bin durch Zufall auf diesen Thread gestoßen da ich genau das gleiche Problem habe.

Wie kann man bei dem Autoit Script einstellen, dass das Format folgend lautet:

JahrMonatTag_Von_Betreff

Hoffe das liest noch jemand.


Danke
Mitglied: colinardo
colinardo 12.02.2016 um 14:40:30 Uhr
Goto Top
Zitat von @park757:
Wie kann man bei dem Autoit Script einstellen, dass das Format folgend lautet:

JahrMonatTag_Von_Betreff
Hallo park757.
ändere Zeile 37 des Codes von oben so ab:
$exportName = StringLeft($receivedDate,8) & "_" & $msg.SenderName & "_" & $subject
Grüße Uwe
Mitglied: park757
park757 15.02.2016 um 12:26:01 Uhr
Goto Top
Hallo,


danke.
Es ging soweit.
Jedoch hat er nur 680 von 860 Mails exportiert.

An was kann das liegen? :o
Es waren "normale" Emails als keine Termineinladungen oder dergleichen.

LG
Mitglied: colinardo
colinardo 15.02.2016 aktualisiert um 12:39:52 Uhr
Goto Top
Zitat von @park757:
Jedoch hat er nur 680 von 860 Mails exportiert.
Kann ich leider nicht nachvollziehen. Geht hier mit einer 20 fach verschachtelten Struktur mit 2000 Mails problemlos.
An was kann das liegen? :o
Leider zu wenig Info zur Umgebung und Anpassung ... wie gesagt werden nur Mail unterhalb des angegebenen Ordners und dessen Unterordner exportiert.

Bitte weitere Antworten via PM damit der Thread hier auch im Sinne des TO nicht weiter zugemüllt wird. Danke!
Mitglied: receiverbox
receiverbox 09.12.2017 um 18:51:43 Uhr
Goto Top
Hallo,

gibt's sowas auch für Linux? Um von IMAP raus zu exportieren?
Mitglied: colinardo
colinardo 09.12.2017 aktualisiert um 20:49:35 Uhr
Goto Top
Zitat von @receiverbox:

Hallo,

gibt's sowas auch für Linux? Um von IMAP raus zu exportieren?
Servus,
das allseits beliebte imapsync oder OfflineIMAP z.B.
Mitglied: HP1308
HP1308 09.04.2019 um 10:09:31 Uhr
Goto Top
Hallo,

ich bin genau auf der Suche nach so einem Tool. Es funktioniert auch soweit bis auf die Zeile

44. $msg.SaveAs($exportPath,3)

Sobald auskommentiert läuft es es durch aber speichert natürlich keine Dateien.

Als Fehler wird folgendes angezeigt. Kannst du mir ggf. weiterhelfen. Danke
unbenannt
Mitglied: colinardo
colinardo 09.04.2019 aktualisiert um 10:57:42 Uhr
Goto Top
Hallo @HP1308 , willkommen auf Administrator.de!
Lass dir mal die Variable $exportPath vor der Export in einer MessageBox anzeigen und wenn der Pfad und Dateiname gültig sind (hier mal posten wenn du unsicher bist), benutze als zweiten Parameter mal die 9 (steht für olMSGUnicode).
Welche Outlook Version ist in Benutzung?

Grüße Uwe
Mitglied: HP1308
HP1308 09.04.2019 um 11:17:37 Uhr
Goto Top
Hallo @colinardo

mit dem Paramter 9 genauso keinen Erfolg. Office Home and Business 2016

Ich muss dazu sagen ich bin absoluter Laie und habe nur geringste Grundkenntnisse zum Programmieren. Daher hab ich es nicht mal geschafft die MessageBox auszugeben. Wie mach ich das denn? Ich dachte jetzt ebenfalls mit SplashTextON($exportPath)

Achso: Die Ordner aus dem Posteingang werden übrigens am angegebenen Pfad erstellt incl. aller Unterordner. Ebenfalls gibt er aus, dass 887 Mails exportiert wurden. Aber die Ordner bleiben alle leer.
Mitglied: colinardo
colinardo 09.04.2019 aktualisiert um 11:26:12 Uhr
Goto Top
Zitat von @HP1308:

Hallo @colinardo

mit dem Paramter 9 genauso keinen Erfolg. Office Home and Business 2016
Was für ein Account? Exchange/IMAP?
Läuft hier testweise auf einem Office Pro Plus 2016 und 2019 noch problemlos.
Ich muss dazu sagen ich bin absoluter Laie und habe nur geringste Grundkenntnisse zum Programmieren. Daher hab ich es nicht mal geschafft die MessageBox auszugeben. Wie mach ich das denn? Ich dachte jetzt ebenfalls mit SplashTextON($exportPath)
Msgbox(0,"",$exportPath)
Mitglied: HP1308
HP1308 09.04.2019 aktualisiert um 11:36:47 Uhr
Goto Top
Exchange

Messagebox liefert folgende Fehlermeldung - da ich sie nur zu Gesicht bekomme wenn die oben genannte Zeile auskommentiert ist. Ist sie das nicht, kommt es zur zuerst genannten Meldung
unbenannt
Mitglied: colinardo
colinardo 09.04.2019 aktualisiert um 11:44:48 Uhr
Goto Top
Du hast sie an der falsche Stelle eingesetzt. Die kommt in eine neue Zeile vor der Zeile mit SaveAs.

Bitte neue Nachrichten nur noch über PN, sonst müllst du hier den Thread mit den Anfängerfragen zu. DANKE!
Mitglied: receiverbox
receiverbox 22.07.2019 aktualisiert um 13:58:03 Uhr
Goto Top
Hallo,

nicht 100% Outlook aber ähnliche Idee.
Ich sichere/archiviere meine IMAP(!) eMail-Konton auch auf eine normale Explorer-Datei-Struktur, jede eMail als Raw-Format so kann diese z. B. mit dem Thunderbird bequem geöffnet werden - ohne dass groß weitere Tools notwendig sind.

Dateinamenvergabe ist per Betreff, Absender und Datum, auch die Dateiattribute könnten angepasst werden - denn es ist alles ein selbst entwickelter ( aber noch nicht GRÖSSER im Feld getester) Code. Bei mir funktioniert er gut, aber ich schraub auch immer noch etwas daran herum.

Der Code passiert auf C#/.net und IMAPX - so dass er idealerweise irgendwann mal als Dienst auf Linux laufen könnte.
IMAPX musste ich etwas anpassen letzte Jahr (aber ich glaube die Verbesserungen sind ggf. schon eingeflossen).
Aufruf über Konsole per Parameter - Credentials zur Zeit noch im Code hinterlegt, aber das wäre auch einfach lösbar....

Sollte mehrere Leute Interesse haben könnte ich den - noch unsauberen Code - als OpenSource-Projekt einstellen.

SG
Mitglied: svenyo
svenyo 10.07.2023 um 21:14:20 Uhr
Goto Top
Zitat von @colinardo:

Hallo Flo985,
da habe ich ein passendes AutoIT Script für dich, das alle Nachrichten eines Outlook-Ordners als MSG-Dateien exportiert und gleichzeitig den Zeitstempel im Dateisystem entsprechend anpasst. Der Ausgabe-Ordner der Mails steht in Zeile 3 (ohne Slash am Ende); das Outlook Konto/Store muss in Zeile 5 angegeben werden; der Ordner in dem sich die Mails befinden gibt man in Zeile 7 an. Standardmäßig werden auch alle enthaltenen Unterordner mit exportiert. Möchte man das nicht, muss man die Variable in Zeile 9 auf false festgelegt werden.
Die Mails werden nach folgendem Schema benannt im Zielordner abgelegt: [ABSENDERMAIL]_[ENTRYID].MSG

back-to-topOutlook Message Export (AutoIt-Script)
Download hier: msg_export_223223.au3

In der jetzigen Einstellung überschreibt das Script bei bereits schon mal durchgeführtem Export keine existierenden Mails im Ordner. d.h man kann es regelmäßig ausführen lassen ohne das jedes mal erneut alle Mails exportiert werden müssen. So werden nur neu hinzugekommene Mails exportiert.

Grüße Uwe

Hallo Uwe,

ich suche so ein Skript (VBA/Makro) für Outlook, jedoch mit dem Zusatz, dass auch die komplette Ordnerstruktur aus Outlook übernommen wird. Sprich ich möchte einen Ordner auswählen und sämtliche Unterordner mit Ihren Emails, Dateien und Anhängen sollen auf der Festplatte als "normale" Dateien gespeichert werden.
Wäre das mit deinem Skript möglich?