Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Outlook Mail in Explorer speichern mit Zeitstempel der Mail

Frage Microsoft Outlook & Mail

Mitglied: Flo985

Flo985 (Level 2) - Jetzt verbinden

29.11.2013 um 09:30 Uhr, 12780 Aufrufe, 12 Kommentare, 1 Danke

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.
Mitglied: Snowman25
29.11.2013 um 10:03 Uhr
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
Bitte warten ..
Mitglied: Flo985
29.11.2013 um 10:46 Uhr
Hi, danke für deine Antwort.
Bei ca. 500 Mails doch mehr als mühselig
Bitte warten ..
Mitglied: Snowman25
29.11.2013 um 11:10 Uhr
Ich hab da eben noch etwas gefunden, Leider Trialware: TechHit MessageSave.
Speichert im MSG-Format
Bitte warten ..
Mitglied: keine-ahnung
29.11.2013 um 11:53 Uhr
Hi,

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

LG, Thomas
Bitte warten ..
Mitglied: colinardo
29.11.2013, aktualisiert 12.03.2015
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]_[BETREFF]_[MESSAGEID].MSG

Outlook Message Export (AutoIt-Script)

01.
#NoTrayIcon 
02.
;Pfad in dem die Mails gespeichert werden sollen 
03.
$FolderSave = "V:\TestExport" 
04.
;Name des Outlook Stores/Kontos (Der Name ist der im Ordnerbaum auf der obersten Ebene des Kontos) 
05.
$storeName = "user@domain.de" 
06.
;Relativer Pfad zum Root des Stores / Unterordner mit Backslash voneinander getrennt Beispiel "Posteingang\Aufträge" 
07.
$OutlookSourceFolder = "Posteingang" 
08.
; wenn keine Unterordner exportiert werden sollen hier auf 'false' festlegen 
09.
$recurse = true 
10.
;--------------------------------------------------------------- 
11.
; Erstelle Export-Ordner falls nicht vorhanden 
12.
if not FileExists($FolderSave) then DirCreate($FolderSave) 
13.
; Outlook Objekt erstellen 
14.
$objOL = ObjCreate("Outlook.Application") 
15.
;Finde Outlook-Ordner aus String 
16.
$olRootFolder = $objOL.Session.Stores.Item($storeName).GetRootFolder() 
17.
$arrPathParts = StringSplit($OutlookSourceFolder,"\") 
18.
for $i = 1 to $arrPathParts[0] 
19.
	$olRootFolder = $olRootFolder.Folders.Item($arrPathParts[$i]) 
20.
Next 
21.
; Zähler für exportierte Nachrichten 
22.
$counter = 0 
23.
; Durchlaufe die Ordner-Struktur und exportiere Mails 
24.
parseFolders($olRootFolder,$olRootFolder.Name,$recurse) 
25.
; Export abgeschlossen 
26.
SplashOff() 
27.
msgbox(64,"Export abgeschlossen","Der Export wurde abgeschlossen. Es wurden insgesamt " & $counter & " Nachricht(en) exportiert.",5) 
28.
exit 
29.
 
30.
;Rekursiver Export einer Outlook-Ordnerstruktur 
31.
func parseFolders($folder,$olFolderName, $rec) 
32.
	for $msg in $folder.Items 
33.
		$subject = $msg.Subject 
34.
		$from = $msg.SenderEmailAddress 
35.
		$entryid = $msg.EntryId 
36.
		$receivedDate = $msg.ReceivedTime 
37.
		$exportName = $from & "_" & $subject & "_" & $entryid & ".msg" 
38.
		$exportFolder = $FolderSave & "\" & $olFolderName 
39.
		$exportPath = $exportFolder & "\" & cleanFileName($exportName) 
40.
		if not FileExists($exportFolder) then DirCreate($exportFolder) 
41.
		if not FileExists($exportPath) then 
42.
			$counter = $counter + 1 
43.
			SplashTextOn("Nachrichten Export","Exportiere Nachricht " & $counter & " : " & $subject,"450","100","-1","-1",34,"","","") 
44.
			$msg.SaveAs($exportPath,3) 
45.
			FileSetTime($exportPath,$receivedDate,0) 
46.
		Endif 
47.
	next 
48.
	if $rec = True then 
49.
		for $f in $Folder.Folders 
50.
			parseFolders($f,$olFolderName & "\" & $f.Name,$rec) 
51.
		Next 
52.
	endif 
53.
EndFunc 
54.
 
55.
; Funktion zum entfernen von nicht gültigen Zeichen für Dateinamen 
56.
func cleanFileName($strName) 
57.
	$replacePattern = "(\<|\>|:|\""|\/|\\|\||\?|\*)" 
58.
	$strName = StringRegExpReplace($strName,$replacePattern,"") 
59.
	return $strName 
60.
EndFunc
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.

have fun

Grüße Uwe

- edit 12.03.2015 - Script um den Export inklusive Unterordner ergänzt
Bitte warten ..
Mitglied: colinardo
15.12.2013 um 14:11 Uhr
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
Bitte warten ..
Mitglied: Galipoli
03.03.2015 um 19:57 Uhr
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
Bitte warten ..
Mitglied: colinardo
03.03.2015, aktualisiert 04.03.2015
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:
01.
$strHeader = $msg.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x007D001E") 
02.
$result = StringRegExp($strHeader,"(?im)^From:\s*(.*)$",1) 
03.
if @error = 0 then 
04.
    $from = $result[0] 
05.
else 
06.
    $from = $msg.SenderEMailAddress 
07.
endif
das ganze anstatt der Zeile 21 eingefügt, fertig.
Bitte warten ..
Mitglied: park757
12.02.2016 um 13:34 Uhr
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
Bitte warten ..
Mitglied: colinardo
12.02.2016 um 14:40 Uhr
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
Bitte warten ..
Mitglied: park757
15.02.2016 um 12:26 Uhr
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
Bitte warten ..
Mitglied: colinardo
15.02.2016, aktualisiert um 12:39 Uhr
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!
Bitte warten ..
Neuester Wissensbeitrag
Heiß diskutierte Inhalte
LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (19)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (19)

Frage von patz223 zum Thema Windows Userverwaltung ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (15)

Link von Penny.Cilin zum Thema Viren und Trojaner ...