{"id":3584,"date":"2025-02-17T00:42:23","date_gmt":"2025-02-16T23:42:23","guid":{"rendered":"https:\/\/vielhuber.de\/?p=3584"},"modified":"2026-02-17T18:21:21","modified_gmt":"2026-02-17T17:21:21","slug":"zugriff-mit-php-auf-exchange-office-365","status":"publish","type":"post","link":"https:\/\/vielhuber.de\/blog\/zugriff-mit-php-auf-exchange-office-365\/","title":{"rendered":"Zugriff mit PHP auf Exchange\/Office 365"},"content":{"rendered":"\n<p><a href=\"https:\/\/techcommunity.microsoft.com\/t5\/exchange-team-blog\/improving-security-together\/ba-p\/805892\" target=\"_blank\" rel=\"noreferrer noopener\">Lange angek\u00fcndigt<\/a> \u2013 <a href=\"https:\/\/techcommunity.microsoft.com\/t5\/exchange-team-blog\/basic-authentication-deprecation-in-exchange-online-september\/ba-p\/3609437\" target=\"_blank\" rel=\"noreferrer noopener\">nun Realit\u00e4t<\/a>: Microsoft hat die Authentifizierung per Passwort f\u00fcr bestimmte Protokolle in Exchange Online ab September 2022 zu Gunsten von oAuth2 abgeschaltet. Die GitHub Issues vieler <a href=\"https:\/\/github.com\/Webklex\/php-imap\/issues\/262\" target=\"_blank\" rel=\"noreferrer noopener\">Libraries<\/a> und <a href=\"https:\/\/github.com\/joeyates\/imap-backup\/issues\/134\" target=\"_blank\" rel=\"noreferrer noopener\">Backup-Scripte<\/a> verdeutlichen, dass die Umstellung viele Administratoren kalt erwischt hat. Nachfolgend zeigen wir einen Weg, wie man mit Hilfe von oAuth2 per PHP via IMAP weiterhin auf die Inhalte seines Exchange-Postfachs zugreifen kann.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Aus Security-Gesichtspunkten ist der Schritt von Microsoft sehr richtig, aber die Komplexit\u00e4t des programmatischen Zugriffs auf seine E-Mails hat um einiges zugenommen. Nutzt man beispielsweise die weit verbreitete Library <a href=\"https:\/\/github.com\/barbushin\/php-imap\" target=\"_blank\" rel=\"noreferrer noopener\">barbushin\/php-imap<\/a>, gelang der Zugriff fr\u00fcher wie folgt:<\/p>\n\n\n\n<p class=\"githubgist\" data-gist-file=\"1.php\">734a82898010e2fcb02c72c3cd9702c2<\/p>\n\n\n\n<p>Das klappt nun so einfach nicht mehr. Um eine Verbindung via oAuth2 herzustellen, besteht die Schwierigkeit zun\u00e4chst darin, an das Access Token zu kommen. Und hierf\u00fcr muss man zun\u00e4chst man zwei H\u00fcrden auf sich nehmen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Azure Active Directory<\/h2>\n\n\n\n<p>Die folgenden Schritte registrieren eine neue App im Azure Active Directory:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"508\" height=\"588\" src=\"https:\/\/vielhuber.de\/wp-content\/uploads\/image-34.png\" alt=\"\" class=\"wp-image-3587\" style=\"width:508px;height:588px\"\/><figcaption class=\"wp-element-caption\">Login auf <a href=\"https:\/\/portal.azure.com\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/portal.azure.com<\/a><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1110\" height=\"208\" src=\"https:\/\/vielhuber.de\/wp-content\/uploads\/image-35.png\" alt=\"\" class=\"wp-image-3588\"\/><figcaption class=\"wp-element-caption\">\u00d6ffnen des \"Azure Active Directory\"<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1102\" height=\"645\" src=\"https:\/\/vielhuber.de\/wp-content\/uploads\/image-36.png\" alt=\"\" class=\"wp-image-3589\"\/><figcaption class=\"wp-element-caption\">\"App-Registrierungen\" &amp; \"Neue Registrierung\" ausw\u00e4hlen<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"646\" height=\"192\" src=\"https:\/\/vielhuber.de\/wp-content\/uploads\/image-37.png\" alt=\"\" class=\"wp-image-3590\"\/><figcaption class=\"wp-element-caption\">\"Anwendungs-ID (Client)\" (=Client-ID) &amp; \"Verzeichnis-ID (Mandant)\" (=Tenant-ID) kopieren<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"653\" height=\"335\" src=\"https:\/\/vielhuber.de\/wp-content\/uploads\/image-38.png\" alt=\"\" class=\"wp-image-3591\"\/><figcaption class=\"wp-element-caption\">\"API-Berechtigungen\" &amp; \"Berechtigung hinzuf\u00fcgen\"<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"510\" height=\"334\" src=\"https:\/\/vielhuber.de\/wp-content\/uploads\/image-39.png\" alt=\"\" class=\"wp-image-3592\"\/><figcaption class=\"wp-element-caption\">\"Von meiner Organisation verwendete APIs\" &amp; \"Office 365 Exchange Online\"<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"821\" height=\"589\" src=\"https:\/\/vielhuber.de\/wp-content\/uploads\/image-41.png\" alt=\"\" class=\"wp-image-3594\"\/><figcaption class=\"wp-element-caption\">\"Anwendungsberechtigungen\" &amp; \"IMAP.AccessAsApp\"<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1029\" height=\"229\" src=\"https:\/\/vielhuber.de\/wp-content\/uploads\/image-42.png\" alt=\"\" class=\"wp-image-3595\"\/><figcaption class=\"wp-element-caption\">Administratorzustimmung erteilen<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1318\" height=\"258\" src=\"https:\/\/vielhuber.de\/wp-content\/uploads\/image-43.png\" alt=\"\" class=\"wp-image-3596\"\/><figcaption class=\"wp-element-caption\">\"Zertifikate &amp; Geheimnisse\" &amp; \"Geheime Clientschl\u00fcssel\" &amp; \"Neuer geheimer Clientschl\u00fcssel\"<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"575\" height=\"155\" src=\"https:\/\/vielhuber.de\/wp-content\/uploads\/image-44.png\" alt=\"\" class=\"wp-image-3597\"\/><figcaption class=\"wp-element-caption\">Beschreibung w\u00e4hlen und G\u00fcltigkeit festlegen<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"434\" height=\"137\" src=\"https:\/\/vielhuber.de\/wp-content\/uploads\/image-45.png\" alt=\"\" class=\"wp-image-3598\"\/><figcaption class=\"wp-element-caption\">\"Geheime ID\" (Client Secret) in Zwischenablage kopieren<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"417\" height=\"469\" src=\"https:\/\/vielhuber.de\/wp-content\/uploads\/image-46.png\" alt=\"\" class=\"wp-image-3599\"\/><figcaption class=\"wp-element-caption\">Unternehmensanwendungen \u00f6ffnen<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"531\" height=\"165\" src=\"https:\/\/vielhuber.de\/wp-content\/uploads\/image-47.png\" alt=\"\" class=\"wp-image-3600\"\/><figcaption class=\"wp-element-caption\">\"Objekt-ID\" kopieren<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">PowerShell<\/h2>\n\n\n\n<p>Nun schalten wir die App in der <a href=\"https:\/\/learn.microsoft.com\/de-de\/powershell\/\" target=\"_blank\" rel=\"noreferrer noopener\">Microsoft PowerShell<\/a> (Administrator-Modus) frei und weisen den einzelnen Postf\u00e4chern Berechtigungen zu (<code>&lt;TENANTID&gt;<\/code>, <code>&lt;CLIENTID&gt;<\/code>, <code>&lt;OBJECTID&gt;<\/code>, <code>&lt;EMAIL&gt;<\/code> m\u00fcssen jeweils ersetzt werden):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Install-Module -Name ExchangeOnlineManagement\nImport-Module ExchangeOnlineManagement\nConnect-ExchangeOnline -Organization &lt;TENANTID&gt;\n\nNew-ServicePrincipal -AppId &lt;CLIENTID&gt; -ServiceId &lt;OBJECTID&gt;\nAdd-MailboxPermission -Identity \"&lt;EMAIL&gt;\" -User &lt;OBJECTID&gt; -AccessRights FullAccess\n...<\/code><\/pre>\n\n\n\n<p>Nachdem man das geschafft, ist der Rest kein Hexenwerk mehr. Da <a href=\"https:\/\/github.com\/barbushin\/php-imap\" target=\"_blank\" rel=\"noreferrer noopener\">barbushin\/php-imap<\/a> oAuth2 nicht unterst\u00fctzt, kann man beispielsweise mit der alternativen Library <a href=\"https:\/\/github.com\/Webklex\/php-imap\" target=\"_blank\" rel=\"noreferrer noopener\">Webklex\/php-imap<\/a> (die obendrein den Vorteil hat, das <a href=\"https:\/\/www.php.net\/manual\/de\/book.imap.php\" target=\"_blank\" rel=\"noreferrer noopener\">PHP-Modul IMAP<\/a> nicht zu ben\u00f6tigen) eine Verbindung herstellen:<\/p>\n\n\n\n<p class=\"githubgist\" data-gist-file=\"2.php\">734a82898010e2fcb02c72c3cd9702c2<\/p>\n\n\n\n<p>Doch auch Libraries, die offiziell kein oAuth2 unterst\u00fctzen, kann man mit Hilfe eines Proxies wie <a href=\"https:\/\/github.com\/simonrob\/email-oauth2-proxy\/blob\/main\/README.md\" target=\"_blank\" rel=\"noreferrer noopener\">simonrob\/email-oauth2-proxy<\/a> lauff\u00e4hig machen. Nach dem <a href=\"https:\/\/github.com\/simonrob\/email-oauth2-proxy\/archive\/refs\/heads\/main.zip\" target=\"_blank\" rel=\"noreferrer noopener\">Download<\/a> und der Installation via <code>python -m pip install -r requirements-no-gui.txt<\/code> (Python \u22653.6 vorausgesetzt) editiert man die Datei <code>emailproxy.config<\/code> beispielsweise wie folgt (und ersetzt dieses Mal <code>&lt;TENANTID&gt;<\/code>, <code>&lt;CLIENTID&gt;<\/code>, <code>&lt;CLIENTSECRET&gt;<\/code> und <code>&lt;EMAIL&gt;<\/code>):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;Server setup]\n\n&#91;IMAP-1993]\nlocal_address = localhost\nserver_address = outlook.office365.com\nserver_port = 993\n\n&#91;Account setup]\n\n&#91;&lt;EMAIL&gt;]\ntoken_url = https:\/\/login.microsoftonline.com\/&lt;TENANTID&gt;\/oauth2\/v2.0\/token\noauth2_scope = https:\/\/outlook.office365.com\/.default\nredirect_uri = http:\/\/localhost:8080\nclient_id = &lt;CLIENTID&gt;\nclient_secret = &lt;CLIENTSECRET&gt;<\/code><\/pre>\n\n\n\n<p>Anschlie\u00dfend startet man den Proxy mit <code>python emailproxy.py --no-gui<\/code> und kann unverschl\u00fcsselt nun zur IP <code>localhost<\/code> auf Port <code>1993<\/code> via regul\u00e4rem Basic Auth (und beliebig gesetztem Passwort) verbinden. Will man den Proxy beim Systemstart als Dienst im Hintergrund starten, nutzt man beispielsweise <a href=\"https:\/\/wiki.ubuntuusers.de\/systemd\/systemctl\/\" target=\"_blank\" rel=\"noreferrer noopener\">systemd<\/a>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl edit --force --full emailproxy.service\n\n&#91;Unit]\nDescription=Email OAuth 2.0 Proxy\n&#91;Service]\nExecStart=\/usr\/bin\/python \/path\/to\/emailproxy.py --no-gui\nRestart=always\n&#91;Install]\nWantedBy=multi-user.target\n\nsudo systemctl enable emailproxy.service --now\nsudo systemctl status emailproxy.service\nsudo systemctl start emailproxy.service<\/code><\/pre>\n\n\n\n<p>Wird eine verschl\u00fcsselte Verbindung vorausgesetzt, ist auch das m\u00f6glich \u2013 hierf\u00fcr erstellt man zun\u00e4chst einen privaten Schl\u00fcssel sowie ein selbst signiertes Zertifikat:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openssl genrsa -out key.pem 3072\nopenssl req -new -x509 -key key.pem -out cert.pem -days 360\n<\/code><\/pre>\n\n\n\n<p>Anschlie\u00dfend referenziert man in der <code>emailproxy.config<\/code> diese beiden Dateien:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>local_key_path = \/path\/to\/key.pem\nlocal_certificate_path = \/path\/to\/cert.pem<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">E-Mail-Versand<\/h2>\n\n\n\n<p>Wer E-Mails programmatisch \u00fcber Microsoft Exchange Online versenden m\u00f6chte, steht ebenfalls vor einer grundlegenden \u00c4nderung: Microsoft hat die klassische Authentifizierung per Benutzername und Passwort auch f\u00fcr SMTP in Exchange Online abgeschaltet. Was jahrelang mit wenigen Zeilen Code erledigt war, erfordert nun den Umweg \u00fcber oAuth2 \u2013 inklusive App-Registrierung im Azure Active Directory, Zertifikaten und Token-Management. Neben dem Empfang von E-Mails k\u00f6nnen wir auch den Versand entsprechend umsetzen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"653\" height=\"335\" src=\"https:\/\/vielhuber.de\/wp-content\/uploads\/image-38.png\" alt=\"\" class=\"wp-image-3591\"\/><figcaption class=\"wp-element-caption\">\"API-Berechtigungen\" &amp; \"Berechtigung hinzuf\u00fcgen\"<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"510\" height=\"334\" src=\"https:\/\/vielhuber.de\/wp-content\/uploads\/image-39.png\" alt=\"\" class=\"wp-image-3592\"\/><figcaption class=\"wp-element-caption\">\"Von meiner Organisation verwendete APIs\" &amp; \"Office 365 Exchange Online\"<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"673\" height=\"363\" src=\"https:\/\/vielhuber.de\/wp-content\/uploads\/image-76.png\" alt=\"\" class=\"wp-image-4687\"\/><figcaption class=\"wp-element-caption\">\"Anwendungsberechtigungen\" &amp; \"SMTP.SendAsApp\"<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"829\" height=\"267\" src=\"https:\/\/vielhuber.de\/wp-content\/uploads\/image-77.png\" alt=\"\" class=\"wp-image-4688\"\/><figcaption class=\"wp-element-caption\">Administratorzustimmung erteilen<\/figcaption><\/figure>\n\n\n\n<p>Der SMTP-Versand \u00fcber Microsoft Exchange 365 folgt dabei dem gleichen Prinzip wie der IMAP-Zugriff: Auch hier f\u00fchrt seit der Abschaltung der Basic Authentication kein Weg mehr an oAuth2 vorbei. Nachdem man in der Azure-App-Registrierung die Berechtigung \u201eSMTP.SendAsApp\" hinzugef\u00fcgt und die Administratorzustimmung erteilt hat, l\u00e4sst sich der Versand beispielsweise mit <a href=\"https:\/\/github.com\/PHPMailer\/PHPMailer\" target=\"_blank\" rel=\"noreferrer noopener\">PHPMailer<\/a> realisieren. Statt wie fr\u00fcher einfach Benutzername und Passwort zu \u00fcbergeben, authentifiziert man sich nun mit einem Access Token gegen den SMTP-Server <code>smtp.office365.com<\/code>:<\/p>\n\n\n\n<p class=\"githubgist\" data-gist-file=\"3.php\">734a82898010e2fcb02c72c3cd9702c2<\/p>\n\n\n\n<p>Der Mehraufwand bei der Einrichtung mag zun\u00e4chst abschreckend wirken, zahlt sich aber langfristig aus: Die oAuth2-basierte Authentifizierung ist deutlich sicherer, da keine Klartext-Passw\u00f6rter mehr in Konfigurationsdateien oder Scripten hinterlegt werden m\u00fcssen \u2013 und das Access Token l\u00e4sst sich zudem zeitlich begrenzen und granular in seinen Berechtigungen steuern. Erw\u00e4hnenswert ist an dieser Stelle auch die Library <a href=\"https:\/\/github.com\/vielhuber\/mailhelper\" target=\"_blank\" rel=\"noreferrer noopener\">mailhelper<\/a>, die eine bequeme API f\u00fcr den Empfang und Versand von E-Mails bietet.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lange angek\u00fcndigt \u2013 nun Realit\u00e4t: Microsoft hat die Authentifizierung per Passwort f\u00fcr bestimmte Protokolle in Exchange Online ab September 2022 zu Gunsten von oAuth2 abgeschaltet. Die GitHub Issues vieler Libraries und Backup-Scripte verdeutlichen, dass die Umstellung viele Administratoren kalt erwischt hat. Nachfolgend zeigen wir einen Weg, wie man mit Hilfe von oAuth2 per PHP via [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"gtbabel_prevent_lngs":"","gtbabel_alt_lng":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-3584","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-blog"},"acf":[],"yoast_head":"<title>Zugriff mit PHP auf Exchange\/Office 365 &#060; Vielhuber David<\/title>\n<meta name=\"description\" content=\"Lange angek\u00fcndigt \u2013 nun Realit\u00e4t: Microsoft hat die Authentifizierung per Passwort f\u00fcr bestimmte Protokolle in Exchange Online ab September 2022 ...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vielhuber.de\/blog\/zugriff-mit-php-auf-exchange-office-365\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Zugriff mit PHP auf Exchange\/Office 365 &#060; Vielhuber David\" \/>\n<meta property=\"og:description\" content=\"Lange angek\u00fcndigt \u2013 nun Realit\u00e4t: Microsoft hat die Authentifizierung per Passwort f\u00fcr bestimmte Protokolle in Exchange Online ab September 2022 zu\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vielhuber.de\/blog\/zugriff-mit-php-auf-exchange-office-365\/\" \/>\n<meta property=\"og:site_name\" content=\"Vielhuber David\" \/>\n<meta property=\"article:published_time\" content=\"2025-02-16T23:42:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-17T17:21:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vielhuber.de\/wp-content\/uploads\/image-34.png\" \/>\n\t<meta property=\"og:image:width\" content=\"508\" \/>\n\t<meta property=\"og:image:height\" content=\"588\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"David\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vielhuber\" \/>\n<meta name=\"twitter:site\" content=\"@vielhuber\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"David\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"7\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/zugriff-mit-php-auf-exchange-office-365\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/zugriff-mit-php-auf-exchange-office-365\\\/\"},\"author\":{\"name\":\"David\",\"@id\":\"https:\\\/\\\/vielhuber.de\\\/#\\\/schema\\\/person\\\/64d4ff14713d413ea4d9b210d0c2c6ef\"},\"headline\":\"Zugriff mit PHP auf Exchange\\\/Office 365\",\"datePublished\":\"2025-02-16T23:42:23+00:00\",\"dateModified\":\"2026-02-17T17:21:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/zugriff-mit-php-auf-exchange-office-365\\\/\"},\"wordCount\":683,\"publisher\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/#\\\/schema\\\/person\\\/64d4ff14713d413ea4d9b210d0c2c6ef\"},\"image\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/zugriff-mit-php-auf-exchange-office-365\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vielhuber.de\\\/wp-content\\\/uploads\\\/image-34.png\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/zugriff-mit-php-auf-exchange-office-365\\\/\",\"url\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/zugriff-mit-php-auf-exchange-office-365\\\/\",\"name\":\"Zugriff mit PHP auf Exchange\\\/Office 365 &#060; Vielhuber David\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/zugriff-mit-php-auf-exchange-office-365\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/zugriff-mit-php-auf-exchange-office-365\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vielhuber.de\\\/wp-content\\\/uploads\\\/image-34.png\",\"datePublished\":\"2025-02-16T23:42:23+00:00\",\"dateModified\":\"2026-02-17T17:21:21+00:00\",\"description\":\"Lange angek\u00fcndigt \u2013 nun Realit\u00e4t: Microsoft hat die Authentifizierung per Passwort f\u00fcr bestimmte Protokolle in Exchange Online ab September 2022 zu\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/zugriff-mit-php-auf-exchange-office-365\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vielhuber.de\\\/blog\\\/zugriff-mit-php-auf-exchange-office-365\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/zugriff-mit-php-auf-exchange-office-365\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vielhuber.de\\\/wp-content\\\/uploads\\\/image-34.png\",\"contentUrl\":\"https:\\\/\\\/vielhuber.de\\\/wp-content\\\/uploads\\\/image-34.png\",\"width\":508,\"height\":588},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/zugriff-mit-php-auf-exchange-office-365\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vielhuber.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Zugriff mit PHP auf Exchange\\\/Office 365\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vielhuber.de\\\/#website\",\"url\":\"https:\\\/\\\/vielhuber.de\\\/\",\"name\":\"Vielhuber David\",\"description\":\"Full-Stack Developer\",\"publisher\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/#\\\/schema\\\/person\\\/64d4ff14713d413ea4d9b210d0c2c6ef\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vielhuber.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/vielhuber.de\\\/#\\\/schema\\\/person\\\/64d4ff14713d413ea4d9b210d0c2c6ef\",\"name\":\"David\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/vielhuber.de\\\/wp-content\\\/uploads\\\/about.jpg\",\"url\":\"https:\\\/\\\/vielhuber.de\\\/wp-content\\\/uploads\\\/about.jpg\",\"contentUrl\":\"https:\\\/\\\/vielhuber.de\\\/wp-content\\\/uploads\\\/about.jpg\",\"width\":700,\"height\":552,\"caption\":\"David\"},\"logo\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/wp-content\\\/uploads\\\/about.jpg\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/vielhuber\"]}]}<\/script>","yoast_head_json":{"title":"Zugriff mit PHP auf Exchange\/Office 365 &#060; Vielhuber David","description":"Lange angek\u00fcndigt \u2013 nun Realit\u00e4t: Microsoft hat die Authentifizierung per Passwort f\u00fcr bestimmte Protokolle in Exchange Online ab September 2022 ...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vielhuber.de\/blog\/zugriff-mit-php-auf-exchange-office-365\/","og_locale":"de_DE","og_type":"article","og_title":"Zugriff mit PHP auf Exchange\/Office 365 &#060; Vielhuber David","og_description":"Lange angek\u00fcndigt \u2013 nun Realit\u00e4t: Microsoft hat die Authentifizierung per Passwort f\u00fcr bestimmte Protokolle in Exchange Online ab September 2022 zu","og_url":"https:\/\/vielhuber.de\/blog\/zugriff-mit-php-auf-exchange-office-365\/","og_site_name":"Vielhuber David","article_published_time":"2025-02-16T23:42:23+00:00","article_modified_time":"2026-02-17T17:21:21+00:00","og_image":[{"width":508,"height":588,"url":"https:\/\/vielhuber.de\/wp-content\/uploads\/image-34.png","type":"image\/png"}],"author":"David","twitter_card":"summary_large_image","twitter_creator":"@vielhuber","twitter_site":"@vielhuber","twitter_misc":{"Verfasst von":"David","Gesch\u00e4tzte Lesezeit":"7\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vielhuber.de\/blog\/zugriff-mit-php-auf-exchange-office-365\/#article","isPartOf":{"@id":"https:\/\/vielhuber.de\/blog\/zugriff-mit-php-auf-exchange-office-365\/"},"author":{"name":"David","@id":"https:\/\/vielhuber.de\/#\/schema\/person\/64d4ff14713d413ea4d9b210d0c2c6ef"},"headline":"Zugriff mit PHP auf Exchange\/Office 365","datePublished":"2025-02-16T23:42:23+00:00","dateModified":"2026-02-17T17:21:21+00:00","mainEntityOfPage":{"@id":"https:\/\/vielhuber.de\/blog\/zugriff-mit-php-auf-exchange-office-365\/"},"wordCount":683,"publisher":{"@id":"https:\/\/vielhuber.de\/#\/schema\/person\/64d4ff14713d413ea4d9b210d0c2c6ef"},"image":{"@id":"https:\/\/vielhuber.de\/blog\/zugriff-mit-php-auf-exchange-office-365\/#primaryimage"},"thumbnailUrl":"https:\/\/vielhuber.de\/wp-content\/uploads\/image-34.png","articleSection":["Blog"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/vielhuber.de\/blog\/zugriff-mit-php-auf-exchange-office-365\/","url":"https:\/\/vielhuber.de\/blog\/zugriff-mit-php-auf-exchange-office-365\/","name":"Zugriff mit PHP auf Exchange\/Office 365 &#060; Vielhuber David","isPartOf":{"@id":"https:\/\/vielhuber.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vielhuber.de\/blog\/zugriff-mit-php-auf-exchange-office-365\/#primaryimage"},"image":{"@id":"https:\/\/vielhuber.de\/blog\/zugriff-mit-php-auf-exchange-office-365\/#primaryimage"},"thumbnailUrl":"https:\/\/vielhuber.de\/wp-content\/uploads\/image-34.png","datePublished":"2025-02-16T23:42:23+00:00","dateModified":"2026-02-17T17:21:21+00:00","description":"Lange angek\u00fcndigt \u2013 nun Realit\u00e4t: Microsoft hat die Authentifizierung per Passwort f\u00fcr bestimmte Protokolle in Exchange Online ab September 2022 zu","breadcrumb":{"@id":"https:\/\/vielhuber.de\/blog\/zugriff-mit-php-auf-exchange-office-365\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vielhuber.de\/blog\/zugriff-mit-php-auf-exchange-office-365\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/vielhuber.de\/blog\/zugriff-mit-php-auf-exchange-office-365\/#primaryimage","url":"https:\/\/vielhuber.de\/wp-content\/uploads\/image-34.png","contentUrl":"https:\/\/vielhuber.de\/wp-content\/uploads\/image-34.png","width":508,"height":588},{"@type":"BreadcrumbList","@id":"https:\/\/vielhuber.de\/blog\/zugriff-mit-php-auf-exchange-office-365\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vielhuber.de\/"},{"@type":"ListItem","position":2,"name":"Zugriff mit PHP auf Exchange\/Office 365"}]},{"@type":"WebSite","@id":"https:\/\/vielhuber.de\/#website","url":"https:\/\/vielhuber.de\/","name":"Vielhuber David","description":"Full-Stack Developer","publisher":{"@id":"https:\/\/vielhuber.de\/#\/schema\/person\/64d4ff14713d413ea4d9b210d0c2c6ef"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vielhuber.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":["Person","Organization"],"@id":"https:\/\/vielhuber.de\/#\/schema\/person\/64d4ff14713d413ea4d9b210d0c2c6ef","name":"David","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/vielhuber.de\/wp-content\/uploads\/about.jpg","url":"https:\/\/vielhuber.de\/wp-content\/uploads\/about.jpg","contentUrl":"https:\/\/vielhuber.de\/wp-content\/uploads\/about.jpg","width":700,"height":552,"caption":"David"},"logo":{"@id":"https:\/\/vielhuber.de\/wp-content\/uploads\/about.jpg"},"sameAs":["https:\/\/x.com\/vielhuber"]}]}},"_links":{"self":[{"href":"https:\/\/vielhuber.de\/sv\/wp-json\/wp\/v2\/posts\/3584","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vielhuber.de\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vielhuber.de\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vielhuber.de\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vielhuber.de\/sv\/wp-json\/wp\/v2\/comments?post=3584"}],"version-history":[{"count":32,"href":"https:\/\/vielhuber.de\/sv\/wp-json\/wp\/v2\/posts\/3584\/revisions"}],"predecessor-version":[{"id":4696,"href":"https:\/\/vielhuber.de\/sv\/wp-json\/wp\/v2\/posts\/3584\/revisions\/4696"}],"wp:attachment":[{"href":"https:\/\/vielhuber.de\/sv\/wp-json\/wp\/v2\/media?parent=3584"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vielhuber.de\/sv\/wp-json\/wp\/v2\/categories?post=3584"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vielhuber.de\/sv\/wp-json\/wp\/v2\/tags?post=3584"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}