32338
Goto Top

E-Mails in *.msg Format vollautomaitsch aus Outlook 2003 in Ordner exportierern

hallo,

ich suche ein Tool oder Plugin, mit dem ich E-Mails aus Outlook 2003 vollautomatisch (z.b. über einen geplanten Task) im *.msg Format in einen Ordner exportieren oder kopieren kann.
Die Mail muss am Ende im *.msg Format vorliegen, da diese dann von einem anderen Programm weiterverarbeitet wird.

Content-Key: 35772

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

Ausgedruckt am: 29.03.2024 um 06:03 Uhr

Mitglied: Egbert
Egbert 11.07.2006 um 10:04:20 Uhr
Goto Top
Hallo maxpayne3110,

hier ein kleines Codesnippet wie ich das mache, allerdings für einen anderen Zweck deswegen exports und imports.

Die Varialblen usw. müssen natürlich noch deklariert werden.

' 1. Öffnen Mailfolder und BackupMailfolder

'------ COM Objekt Outlook erzeugen
set outlApp = WScript.CreateObject("Outlook.Application")
if Err.Number <> 0 then
return_value = 30
logwrite "Fehler bei CreateObject(Outlook.Application" & " --- " & Err.Description & " / " & CStr(Err.Number), 1
Exit Sub
end if

'------ Outlook Namespace setzen
set nmSpace = outlApp.GetNameSpace("MAPI")
if Err.Number <> 0 then
return_value = 31
logwrite "Fehler bei GetNameSpace(MAPI" & " --- " & Err.Description & " / " & CStr(Err.Number), 1
Exit Sub
end if

'------ Postfach oeffnen
if InStr(postfach, "BUBU") > 0 then
set pf = nmSpace.Folders("Postfach - BUBU")
else
set pf = nmSpace.Folders(postfach)
end if

if Err.Number <> 0 then
return_value = 32
logwrite "Fehler bei nmSpace.Folders" & " --- " & Err.Description & " / " & CStr(Err.Number), 1
Exit Sub
end if

'------ Mailfolder oeffnen
set fld = pf.Folders(mailfolder)
if Err.Number <> 0 then
return_value = 33
logwrite "Fehler bei Folders" & " --- " & Err.Description & " / " & CStr(Err.Number), 1
Exit Sub
end if

'------ Backup Mailfolder oeffnen
set fldbck = pf.Folders(backupmailfolder)
if Err.Number <> 0 then
return_value = 33
logwrite "Fehler bei Folders" & " --- " & Err.Description & " / " & CStr(Err.Number), 1
Exit Sub
end if

set mItems = fld.Items
cnt = mItems.Count
logwrite "Count der Mails: " & CStr(cnt), 0

'------ Schleife ueber die Emails des Mailfolders
for x = cnt to 1 step -1

'------ check, ob die Emails Attachments besitzt
set mAtts = mItems.item(x).Attachments
if Err.Number <> 0 then
return_value = 35
logwrite "Fehler bei mItems.item..Attachments" & " --- " & Err.Description & " / " & CStr(Err.Number), 1
Exit Sub
end if

cntAtt = mAtts.Count
logwrite "Mailname: " & mItems.item(x).subject & " -- Count der Attachments: " & CStr(cntAtt), 0

'------ Besitzt die Email keine Attachments, dann wird die Mail als Textdatei in textdir gespeichert
if cntAtt = 0 then
mItems.item(x).SaveAs textdir & "att_" & CStr(x) & ".txt", 0
if Err.Number <> 0 then
return_value = 36
logwrite "Fehler bei Mail SaveAs" & " --- " & Err.Description & " / " & CStr(Err.Number), 1
Exit Sub
end if
else

'------ Besitzt die Email Attachments, dann werden die Attachments als MSG-Dateien in logdir gespeichert
'------ diese Emails werden wieder als MSG importiert und danach als Textdateien wieder in textdir gespeichert
'------ (man kann Attachments nicht aus einer Email in einen Postfach-Ordner kopieren)

for y = cntAtt to 1 step -1

'-------------- speichern der Attachments als MSG-Dateien
mailfile = logdir & "att_" & CStr(x) & "-" & CStr(y) & ".msg"
mAtts.item(y).SaveAsFile mailfile
if Err.Number <> 0 then
return_value = 37
logwrite "Fehler bei Att SaveAs" & " --- " & Err.Description & " / " & CStr(Err.Number), 1
Exit Sub
end if

'-------------- Importieren der gespeicherten Attachments ins Postfach
set newItem = outlApp.CreateItemFromTemplate(mailfile)
if Err.Number <> 0 then
return_value = 38
logwrite "Fehler bei CreateItemFromTemplate" & " --- " & Err.Description & " / " & CStr(Err.Number), 1
Exit Sub
end if
newItem.Save
if Err.Number <> 0 then
return_value = 39
logwrite "Fehler bei Save Mailitem" & " --- " & Err.Description & " / " & CStr(Err.Number), 1
Exit Sub
end if

'-------------- Speichern der Mails (Attachments) als Textdatei
newItem.SaveAs textdir & "att_" & CStr(x) & "-" & CStr(y) & ".txt", 0
if Err.Number <> 0 then
return_value = 40
logwrite "Fehler bei SaveAs Mailitem" & " --- " & Err.Description & " / " & CStr(Err.Number), 1
Exit Sub
end if

'-------------- Loeschen der Mails (Attachments)
newItem.Delete
if Err.Number <> 0 then
return_value = 41
logwrite "Fehler bei Delete Mailitem" & " --- " & Err.Description & " / " & CStr(Err.Number), 1
Exit Sub
end if

next

end if

next



Gruß
Egbert
Mitglied: 8343
8343 11.07.2006 um 10:04:26 Uhr
Goto Top
Hi!

Unter www.mailhilfe.de gibt es diverse Tools.

Gruß, Marcus