C# MS Exchange Verschieben E-Mails in Ordner
Hinzugefügt: Dank an user @grapkulec, ich bin mit
using Microsoft.Exchange.WebServices.Data;
Ich versuche eine E-Mail in einen Ordner, den ich bereits erstellt in Outlook (MS Exchange). Bisher habe ich in der Lage zu bewegen, die E-Mail-Entwürfe oder andere bekannte Ordner-Namen, haben aber keinen Erfolg hatten, bewegte es zu ich ein Ordner erstellt namens "Beispiel".
foreach (Item email in findResults.Items)
email.Move(WellKnownFolderName.Drafts);
Der obige code funktioniert, aber ich will nicht von den bekannten Ordnern. Und wenn ich versuche den code zu ändern, um so etwas wie:
email.Move(Folder.(Example));
oder
email.Move(Folder.["Example"]);
Er bewegt sich nicht (in beiden Fällen wirft einen Fehler). Ich habe festgestellt, Tonnen von Beispielen, wie sich zu bewegen und E-Mails in Ordnern auf der MSDN-Website, SO und Allgemeinen C# - aber NUR von Ordnern, die sind "bekannt" zu Outlook (Entwürfe, Junk-E-Mail, etc), die nicht mit einem Ordner arbeiten, die ich erstellt habe.
InformationsquelleAutor Kprof | 2012-12-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gelöst!
Den move-Befehl fehlgeschlagen ist, unabhängig davon, mehrere versuche, weil die ID war ungültig. Offenbar eine move-operation nicht erlaubt, die Verwendung von Namen. Ich hatte versucht, "DisplayName" als Bezeichner und das ist, was hielt warf mich ab. Schließlich gab ich auf "DisplayName", die geholfen hätten. Statt dessen verwies ich auf die ID (und stoppte das nervige "ID ist ungültig" - Fehler) durch Speicherung in einer variable, und die Bewegung gearbeitet.
Code:
Vielen Dank; dieser code funktioniert und kann gezwickt werden, um gegebenenfalls Anpassungen vorgenommen werden können.
InformationsquelleAutor Kprof
Es scheint, Sie sind mit dem EWS Managed API so, hier ist meine Antwort, wie ich solche Dinge zu tun.
Move-Methode auf die Elemente annehmen können WellKnownFolderName oder Ordner-id. Wenn ich es richtig verstehe, die Sie verschieben möchten Sie E-Mails in Ordner namens "Beispiel". Also zuerst mußt du Ordner-Objekt für diesen Ordner:
Nun sollten Sie Ihren "Beispiel" - Ordner-variable und man kann seine id zu Verschieben Methode, eine E-Mail. Weitere details finden Sie in der msdn-Seiten dazu, wie die Arbeit mit EWS Managed API eine ganze Menge von einfachen und einfache Nutzung, Beispiele gibt es.
BTW: WellKnownFolderNames enum ist eine bequeme Art für die meisten gängigen Exchange-Ordnern wie Posteingang, Gesendete Objekte, etc. Alles andere müssen Sie das abrufen auf Ihre eigenen, indem Sie die Suche und/oder Bindung nur im Fall einer anderen Exchange-Objekte.
Leider, dies erzeugt mehrere überlast-Fehler, so dass es nicht kompatibel mit dem aktuellen code.
gut, das ist genau der code, den ich verwenden in einem Produkt arbeiten an der schweren Last und in ganz unterschiedlichen Umgebungen, so weiß ich, es funktioniert. Aber ich werde nicht Lügen, ich schrieb es perfekt erste mal, es dauerte mir viel von google durchsuchen und Versuch eine Fehlermeldung, bevor ich verstanden habe, wie alle Teile zusammen kommen. Vielleicht sollten Sie aktualisieren Sie Ihre Frage mit der aktuellen code-snippet, damit wir sehen konnten, einige Kontext. Ihre Frage zum verschieben in Ordner, die schon beantwortet wurde. Sorry, wenn Sie kämpfen, um mein Beispiel funktioniert aber nicht sehen, wie kann ich mehr helfen, ohne zu wissen, mehr details.
was genau funktioniert nicht? "es funktioniert nicht" ist, was ich erwarten würde, zu hören, von den Kunden nicht von anderen dev 🙂
Wie oben erwähnt, durch OP: Leider, dies erzeugt mehrere überlast-Fehler, so dass es nicht kompatibel mit dem aktuellen code.
InformationsquelleAutor grapkulec
Basierend auf diesen Antworten, erstellt eine funktionierende Methode zum verschieben von Ordnern, könnte nützlich sein, um jemanden:
InformationsquelleAutor Peroxy