Hallo,
ich cross-poste nicht gerne, aber da das doch sehr spezifisch ist, habe ich sowohl bei SO, als auch hier gefragt. Falls die Antwort auf anderer Seite beantwortet wird, werde ich diesen Beitrag editieren.
Mein Problem:
Ich möchte eine Liste aller E-Mails aus einem Ordner eines bestimmten Benutzers erzeugen. Ich erhalte FolderId und User per Webservice, habe hier also keine Möglichkeit, andere Daten zu nutzen. Ich schaffe es allerdings nicht, mir die Inhalte anzuzeigen.
Zum Testen nutze ich einen Outlook-Account und gebe als User den gleichen User rein, wie auch der Outlook-User heißt. Das sieht so aus:
Damit ich hier nicht alle Ordner bekomme, sondern nur den gesuchten, lege ich einen Suchfilter drüber, die die FolderId der Ergebnisse mit der gegebenen FolderId vergleichen soll, um dann den korrekten Ordner auszuwählen.
// Create mailbox for user Mailbox mailbox = new Mailbox(user); // Create a searchfolder to verify the used folder id is the same like the given folder id SearchFilter.IsEqualTo folderIdFilter = new SearchFilter.IsEqualTo(ItemSchema.Id, folderId); // Create new folder id FolderId usersFolderId = new FolderId(WellKnownFolderName.Root, mailbox); // Find items with search criteria itemResult = getExchangeService().FindItems(usersFolderId, folderIdFilter, viewBase);
Jemand eine Idee, wieso ich keine Ergebnisse zurückerhalte?
Ich habe es auch ohne Suchfilter probiert, habe auch hier aber keine Ergebnisse zurückbekommen. Wenn es an unzulänglichen Benutzerrechten liegen würde, würde ich eine Fehlermeldung erwarten, aber das kann generell eh nicht sein, da ich als User mail@outlook.com reingebe und am Service mit mail@outlook.com angemeldet bin, sodass hier keine Rechteprobleme entstehen sollten.