Aliro per PHP al Exchange/Office 3651022
#000000
Longe anoncite - nun realaĵo : Microsoft malŝaltis aŭtentikigon per pasvorto por iuj protokoloj en Exchange Online ekde septembro 2022 favore al oAuth2. La GitHub-problemoj de multaj bibliotekoj kaj rezervaj skriptoj klarigas, ke la ŝanĝo surprizis multajn administrantojn. Malsupre ni montras manieron kiel vi povas daŭrigi aliri la enhavon de via Exchange-leterkesto helpe de oAuth2 per PHP per IMAP.
#000001
El sekureca vidpunkto, la movo de Mikrosofto estas tre ĝusta, sed la komplekseco de programa aliro al ĝiaj retpoŝtoj sufiĉe pliiĝis. Ekzemple, se vi uzas la vaste uzatan barbushin/php-imap-bibliotekon , aliro kutimis esti jena:
#000002
Ĝi simple ne plu funkcias. Por establi konekton per oAuth2, la unua malfacilaĵo estas akiri la alirĵetonon. Kaj por tio vi devas preni sur du hurdojn.
#000003
Malfermu la "Azure Active Directory"
#000005
Elektu "Registriĝoj de la aplikaĵo" & "Nova registrado".
#000006
"APIoj uzataj de mia organizo" & "Office 365 Exchange Online"
#000008
Elektu priskribon kaj starigu validecon
#000010
Post kiam vi faris tion, la resto ne estas raketscienco. Ĉar barbushin/php-imap ne subtenas oAuth2, vi povas konektiĝi kun la alternativa biblioteko Webklex/php-imap (kiu ankaŭ havas la avantaĝon ne postuli la PHP-IMAP-modulon ).:
#000012
Tiam vi komencas la prokurilon per python emailproxy.py --no-gui kaj nun povas iri al la IP neĉifrita localhost sur haveno 1993 konekti per regula Basic Auth (kaj ajna pasvorta aro). Se vi volas komenci la prokurilon kiel servon en la fono kiam vi ekfunkciigas la sistemon, vi povas uzi, ekzemple systemd:
#000013
Se necesas ĉifrita konekto, tio ankaŭ eblas - por tio vi unue kreas privatan ŝlosilon kaj memsubskribitan atestilon.:
#000014
Tiam referenco estas farita en la emailproxy.config ĉi tiuj du dosieroj:
#000015
GitHubTwitterPinboardPinterestYouTubeButikvaroSpotifyDribbbleLinkedInXingPGPValidigo de markado de W3CGugla Lumturo
#000017