'------------------------------------------------------------------------- ' StampLanguage ' ' Beschreibung ' Einfaches Sample um per CDO eine Mailgox dynamisch zu öffnen und die Inhalte auszugeben ' ' Voraussetzung ' - Ausführender Benutzer muss das Postfach öffnen können ' - Verbindung zum DC/GC und Mailserver ' Version 1.10 initial ' Version 1.1 05. Feb 2010 ' Sonderfall "Drafts" basierend auf http://www.cdolive.com/cdo5.htm ' Eingabe ' ' Ausgabe: '------------------------------------------------------------------------- Option Explicit 'on error resume next const CdoDefaultFolderCalendar = 0 Const CdoDefaultFolderContacts = 5 Const CdoDefaultFolderDeletedItems = 4 Const CdoDefaultFolderInbox = 1 Const CdoDefaultFolderJournal = 6 Const CdoDefaultFolderNotes = 7 Const CdoDefaultFolderOutbox = 2 Const CdoDefaultFolderSentItems = 3 const CdoDefaultFolderTasks = 8 dim strHomeServer , strMailbox if wscript.arguments.named("Server") = "" then wscript.echo "Bitte den Homeserver des Postfachs mit /Server:servername angeben" wscript.quit(1) else strHomeServer = wscript.arguments.named("Server") end if if wscript.arguments.named("Mailbox") = "" then wscript.echo "Bitte Mailbox Alias oder SMTP-Adresse des Postfachs mit /Mailbox:alias angeben" wscript.quit(1) else strMailbox = wscript.arguments.named("Mailbox") end if dim infostores, mapifolder, mailboxfolder, child, attachment dim oMapiMessages, oMapiMessage, oMapiSession If InStr(1,WScript.FullName,"cscript",vbTextCompare) = 0 Then ' Prüfung ob mit CSCRIPT gestartet wurde wscript.echo "Bitte mit CSCRIPT aufrufen" wscript.quit (255) end if wscript.echo "StampLanguage: started" wscript.echo "StampLanguage: Homeserver:" & strHomeServer wscript.echo "StampLanguage: Mailbox:" & strMailbox Set oMapiSession = CreateObject("MAPI.Session") if Err.Number <> 0 Then wscript.echo "StampLanguage: Error creating MAPI Session Error: " & err.number err.clear : wscript.quit(1) End If wscript.echo "StampLanguage: try MapiConnect" oMapiSession.Logon "", "", False, True, 0, true, strHomeServer & vbLf & strMailbox if Err.Number <> 0 Then wscript.echo "StampLanguage: Error MAPI Logon Error: " & err.number err.clear : wscript.quit(1) end if '~ set infostores = oMapiSession.InfoStores Set mailboxfolder = oMapiSession.GetDefaultFolder(CdoDefaultFolderInbox) wscript.echo "StampLanguage: Mailbox successful opened" renameMAPIFolder oMapiSession.GetDefaultFolder(CdoDefaultFolderInbox),"Posteingang" renameMAPIFolder oMapiSession.GetDefaultFolder(CdoDefaultFolderCalendar),"Kalender" renameMAPIFolder oMapiSession.GetDefaultFolder(CdoDefaultFolderContacts),"Kontakte" renameMAPIFolder oMapiSession.GetDefaultFolder(CdoDefaultFolderDeletedItems),"Gelöschte Objekte" renameMAPIFolder oMapiSession.GetDefaultFolder(CdoDefaultFolderJournal),"Journal" renameMAPIFolder oMapiSession.GetDefaultFolder(CdoDefaultFolderNotes),"Notizen" renameMAPIFolder oMapiSession.GetDefaultFolder(CdoDefaultFolderOutbox),"Postausgang" renameMAPIFolder oMapiSession.GetDefaultFolder(CdoDefaultFolderSentItems),"Gesendete Objekte" renameMAPIFolder oMapiSession.GetDefaultFolder(CdoDefaultFolderTasks),"Aufgaben" ' Special handling of "Drafts" Public Const CdoPR_DRAFTS_FOLDER = &H36D70102 dim objInbox, strDraftsEntryID, objFolder Set objInbox = oMapiSession.Inbox strDraftsEntryID = objInbox.Fields.Item(CdoPR_DRAFTS_FOLDER) Set objFolder = oMapiSession.GetFolder(strDraftsEntryID, Null) renameMAPIFolder objFolder ,"Entwürfe" wscript.echo "StampLanguage: Closing MAPI Connections" set mailboxfolder = nothing set infostores = nothing oMapiSession.Logoff Set oMapiSession = Nothing wscript.echo "StampLanguage: Done" sub renameMAPIFolder(objfolder, strNewName) if objfolder.name <> strNewName then wscript.echo "StampLanguage: rename '" & objfolder.name & "' to '" & strNewName & "'" objfolder.name = strNewName else wscript.echo "StampLanguage: name already " & objfolder.name end if end sub