Hätte ich mal so eine super Erklärung gehabt wie die von Phoenix als ich angefangen habe, mich mit OAuth2 beschäftigen zu müssen, das hätte mir ein paar Knoten im Hirn erspart.
Eine Ergänzung aber noch, um das Ganze noch etwas komplizierter zu machen: es gibt bei OAuth2 unterschiedliche "Flows", also unterschiedliche Wege, auf denen man ein Token bekommen kann, wobei nicht immer alle zur Verfügung stehen müssen. Was Phoenix beschreibt, ist im Wesentlichen der "Authorization Code Flow". Den benutzt man normalerweise in interaktiven Anwendungen. Also: der Benutzer klickt irgendwo drauf oder startet eine Anwendung, ein Fenster geht auf, in dem er sich anmelden muss, und die Anwendung bekommt dann irgendwann das Token, wie von Phoenix beschrieben.
Daneben gibt es auch den "Client Credential Flow". Der ist eher für die Server-zu-Server-Kommunikation gedacht. Zwei Anwendungen unterhalten sich also im Hintergrund und tauschen Daten aus.
Microsoft dazu. Das Ganze ist etwas "einfacher", weil es ohne die Interaktion mit dem Browser abläuft (logisch). Da du geschrieben hast, dass deine Anwendung die Mail eigentlich im Hintergrund abholen soll, könnte das genau so ein Fall sein, wenn die Anwendung nicht doch unterschiedliche Konten von unterschiedlichen Benutzern abfragen soll. Auch für Exchange/IMAP/POP
scheint Microsoft den Client-Credential-Flow zur Verfügung zu stellen. Habe ich aber selber bisher nicht genutzt/getestet.
Ich hoffe, ich habe jetzt nicht zu mehr Verwirrung beigetragen, aber dieses "die Anwendung macht da was im Hintergrund" ist dafür schon ein entscheidendes Stichwort gewesen.