<p>Mon grain de sel sur ce sujet : si vous rencontrez toujours un échec d’authentification depuis JavaMail en essayant de vous connecter à une boîte aux lettres pour lire les e-mails, assurez-vous avant tout que l’application configurée dans Azure Active Directory dispose des permissions ci-dessous.</p>
<p><strong>IMAP.AccessAsApp</strong></p>
<p><strong>Mail.Read</strong></p>
<p><strong>Mail.Send (pour l’envoi)</strong></p>
<p>Deuxièmement, créez le principal de service avec l’<strong>identifiant d’application d’entreprise</strong> comme mentionné dans la publication originale.<br>
Une fois fait, <a href="https://jwt.ms/">vérifiez ici</a> si votre jeton généré contient tous les rôles que vous avez assignés.</p>
<p>Même si vous avez assigné les rôles nécessaires et que vous pouvez vous connecter à la boîte aux lettres via PowerShell, vous pourriez toujours obtenir <strong>AUTHENTICATE failed</strong> depuis JavaMail parce que vous pourriez utiliser cette propriété (mail.imap.auth.mechanisms) incorrectement. Remplacez mail.imap par mail.imaps et cela devrait résoudre le problème.</p>
<pre><code class="lang-auto">"mail.imaps.auth.mechanisms"="XOAUTH2"
"mail.imap.host"="outlookoffice365.com"
"mail.smtp.port"=993
"mail.store.protocol"="imaps"
session.getStore("imaps")
store.connect(host,port,user,token)
</code></pre>
<p>Bonne chance !</p>