Longa nuntiata - nunc res : Microsoft authenticas per tesseram commutavit pro quibusdam protocollis in Exchange Online a Septembri 2022 in favorem oAuth2. Quaestiones GitHub plurium bibliothecarum et scriptorum tergum scriptorum declarant mutationem rerum multos administratores prehendisse ex improviso. Infra ostendemus quomodo pergere potes ad contenta per mailbox permutationis tuae accedere ope oAuth2 per PHP per IMAP.
Ex parte securitatis, motus Microsoft valde emendatus est, sed intricatio programmatum accessus ad electronicas suas aliquantum auxit. Exempli gratia, si barbushin/php-imap bibliotheca late usus uteris, aditus talis erit:
734a82898010e2fcb02c72c3cd9702c2
Non iam tam simplex est. Ad nexum per OAuth2 constituendum, nunc primum tessera accessus obtinenda requiritur. Hoc duo impedimenta superanda requirit.
Caeruleus Active Directory
Sequentes gradus subcriptio novum app in Azure Active Directory:













PowerShell
Nunc convertamus app in Microsoft PowerShell (modus administratoris) et permissiones singulis mailboxes assignare (<TENANTID>, <CLIENTID>, <OBJECTID>, <EMAIL> oportet utrobique):
Install-Module -Name ExchangeOnlineManagement
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline -Organization <TENANTID>
New-ServicePrincipal -AppId <CLIENTID> -ServiceId <OBJECTID>
Add-MailboxPermission -Identity "<EMAIL>" -User <OBJECTID> -AccessRights FullAccess
...
Hoc facto, cetera facillima sunt. Quoniam barbushin/php-imap oAuth2 non sustinet, exempli gratia, nexum instituere potes utens bibliotheca alternativa Webklex/php-imap (quae etiam commodum habet quod modulum PHP IMAP non requirit).:
734a82898010e2fcb02c72c3cd9702c2
Sed bibliothecae quae oAuth2 publice non sustinent adhiberi possunt etiam ope procuratoris similis simonrob/email-oauth2-proxy habilem facere. Post haec Download et institutionem via python -m pip install -r requirements-no-gui.txt (Python ≥3.6 requiritur) tabella es emailproxy.config exempli causa (reposito hoc tempore <TENANTID>, <CLIENTID>, <CLIENTSECRET> et <EMAIL>):
[Server setup]
[IMAP-1993]
local_address = localhost
server_address = outlook.office365.com
server_port = 993
[Account setup]
[<EMAIL>]
token_url = https://login.microsoftonline.com/<TENANTID>/oauth2/v2.0/token
oauth2_scope = https://outlook.office365.com/.default
redirect_uri = http://localhost:8080
client_id = <CLIENTID>
client_secret = <CLIENTSECRET>
Tum satus procuratorem cum python emailproxy.py --no-gui et nunc potest ire ad IP unencrypted localhost in portum 1993 connect via regularis Basic Auth (and any password set). Si vis procuratorem incipere ut officium in curriculo cum systema incipias, uti potes, e.g systemd:
sudo systemctl edit --force --full emailproxy.service
[Unit]
Description=Email OAuth 2.0 Proxy
[Service]
ExecStart=/usr/bin/python /path/to/emailproxy.py --no-gui
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl enable emailproxy.service --now
sudo systemctl status emailproxy.service
sudo systemctl start emailproxy.service
Si nexus encrypted exigitur, hoc quoque fieri potest - hoc enim primum clavem privatam et libellum auto-signatum creas.:
openssl genrsa -out key.pem 3072
openssl req -new -x509 -key key.pem -out cert.pem -days 360
Deinde referendum est in emailproxy.config Hi duo files:
local_key_path = /path/to/key.pem
local_certificate_path = /path/to/cert.pem
Mittens epistulas electronicas
Quicumque epistulas electronicas programmatice per Microsoft Exchange Online mittere vult, mutationem fundamentalem quoque patitur: Microsoft authenticationem classicam usoris et tesserae pro SMTP in Exchange Online inactivavit. Quod paucis tantum lineis codicis per annos perfectum est, nunc deviationem per OAuth2 requirit – inter quas registratio applicationis in Azure Active Directory, certificata, et administratio tesserarum. Eandem rationem ad epistulas electronicas mittendas, praeterquam ad eas recipiendas, adhibere possumus.




ESMTP mittens per Microsoft Commutationem 365 idem principium ac IMAP accessum sequitur: hic quoque nulla via est circa oAuth2 quia Basic authenticitas abscissa est. His additis "SMTP.SendAsApp" permissio in adnotatione app azure et consensu administratoris concedens, mittens fieri potest, e.g. PHPMailer Hoc iam implementatum est. Loco simpliciter nomen usoris et tesserae submittendae ut antea, authenticatio contra servum SMTP nunc tessera accessus utitur. smtp.office365.com:
734a82898010e2fcb02c72c3cd9702c2
Opus institutionis additum initio formidabile videri potest, sed longo spatio prodest: authenticatio OAuth2 fundata multo securior est, cum nullae tesserae planae in fasciculis configurationis vel scriptis servandae sint – et tessera accessus etiam tempore limitari potest eiusque permissiones cum grana praecisione regi. Etiam hic mentione digna est bibliotheca mailhelper , quae API commodam ad epistulas electronicas recipiendas et mittendas offert.