C# / Outlook Zugriff
-
Hallo,
eine Suche im Netz hat leider nichts ergeben.
Ich würde gerne mit C# auf mein lokales Outlook zugreifen, um die Anzahl der ungelesenen E-Mails zu ermitteln. Allerdings nicht nur die aus meinem eigenen E-Mail-Eingangsordner, sondern auch von alle Gruppen, die mein IT-Admin für mich eingerichtet hat. Ich muss keine E-Mail lesen oder senden können, die Anzahl ungelesener E-Mails reicht mir völlig aus.
Nun gibt es einige Nuget-Pakete, die ich nutzen kann. Allerdings ist das Angebot an Tutorials und Beispiel recht rar. Hat jemand sowas schon mal gemacht von euch?
Vielen Dank im Voraus
VG Torsten
-
Suche mal nach Microsoft.Exchange.WebServices
Ist zwar nicht genau was DU brauchst könnte Dir aber helfen:
https://www.sqltreeo.com/docs/c-read-emails-from-exchange-online-mailbox-office-365-into-sql-server
-
@Martin-Richter Danke für den Tipp. Leider hilft es nicht so wirklich
1.) Die Zugangsdaten lassen sich mit der Zeile
Credentials = new WebCredentials("eMail-Adresse", "ewMail-Passwort")
setzen. Das Problem ist, dass das nur für meine E-Mail-Addresse funktioniert. Das Passwort für die Gruppen-E-Mail habe nicht.
2.) Der Aufruf <_service.FindItems()> innerhalb der Schleife schmeißt sporadisch eine NullPointerException. Keine Ahnung warum, spielt aufgrund Problem 1 allerdings keine Rolle.
foreach (EmailMessage email in _service.FindItems(WellKnownFolderName.Inbox, new ItemView(100))) { ... }
Danke trotzdem nochmal.
VG Torsten
-
Ich kenne mich weder mit C# noch mit Office Automatisierung besonders gut aus, aber Google bringt mich hier hin:
https://stackoverflow.com/questions/8368380/reading-outlook-mail-with-c-sharp
und
https://learn.microsoft.com/en-us/dotnet/api/microsoft.office.interop.outlook?view=outlook-pia
-
Du musst für den Zugriff immer Deine Credentials angeben. Du musst eben nur auf ein anderes Konto Zugreifen.
Exchange regelt das, ob Du es darfst oder nicht.