Outlook mit python win32com Durchlaufen Unterordner
Ich habe folgenden code, der bekommt von mir den Posteingang von " meine freigegebenen Ordner, und alle E-Mails innerhalb. Dieser code funktioniert Super und druckt das Thema des letzten E-Mail.
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
recip = outlook.CreateRecipient("[email protected]")
inbox = outlook.GetSharedDefaultFolder(recip, 6)
messages = inbox.Items
message = messages.GetLast()
print (message.Subject)
Kann ich den Zugang zu anderen übergeordneten Ordnern [email protected]'s mailbox (wie Geschickt), aber ich kann Sie nicht alle Unterordner eines Ordners in die inbox, oder tiefer. Wenn ich also möchte, Posteingang\subfolder1, wie greife ich auf, die? Mit Outlook 2013 wenn, was zählt.
Mein Ziel ist es, zu tun:
message.Move(inbox\subfolder1)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann das nicht - Outlook-caches gemeinsamen Standard-Ordner in der Haupt-OST-Datei Die Unterordner werden nicht zwischengespeichert. Wenn das Postfach in Frage als Stellvertretung Hinzugefügt speichern, sollten Sie in der Lage sein, zu analysieren, um den Ordner mit
Namespace.Folders
oderNamespace.Stores
.Sonst können Sie Erlösung und seine RDOSession.
GetSharedDefaultFolder
- wird der Ordner geöffnet, in den online-Modus mit all seinen Unterordnern (RDOFolder.Folders
).Yeah, das ist besser zu schreiben als den Namen des Ordners, anstatt das schreiben der Ordner-Nummern
Wie meine Ordner-Hierarchie ist : Outlook_Mails > Posteingang > Wichtig
Dies ist der code, den ich verwende, um nicht eine ähnliche Aufgabe.
Dieser findet die Nachrichten im Ordner "Alle/Hauptordner/Unterordner".
root_folder
haben eineFolders
Eigenschaft? Es scheint so, dass würde den Posteingang alsroot_folder
so einen Unterordner zu finden wäre mitroot_folder.Folders['Subfolder']
. Wenn nicht, habe ich keine Ahnung, sorry.GetSharedDefaultFolder
zurückgeben sollte eineFolder
wer-API finden Sie hier: "Ordner" API.Sir Tesla.
Tatsächlich, ich folgte Ihr code-Muster & ändern Sie es wie pro mein Aktuelles Projekt.
Suchen Sie bitte die unten Exemplar-code.
Hier bekam ich zu wissen, eine Sache. Wenn wir brauchen, um mit irgendeiner Art Funktion E-Mail-Boxen dann brauchen wir nur noch den Namen unter mapi.Ordner[] dann gehen Sie einfach mit dem Strom.
Sir Tesla Ihre code-Muster hilfreich war für mich, statt mit Ordner Anzahl.
Auf der anderen Seite, ist diese Technik hilft mir Anhängen E-mail-Lesen & ergreifen von Maßnahmen innerhalb eines bestimmten Zeitrahmens.
Ich nahm Jared Goguen s Antwort und es geändert.
Wo
inbox.Folders(6)
verwendet den index meiner Unterordner von Interesse zu identifizieren. Ich war in der Lage, erfolgreich Durchlaufen und die Nachrichten in den Unterordner mit dieser Nachricht.