我正在使用 Java 1.8、Jakarta 电子邮件(版本 2.1.0)连接到 Microsoft 365,并使用 OAuth 进行 SMTP 身份验证。客户端需要使用 Oauth 身份验证,而不是基本的 smtp 身份验证。阅读文档https://learn.microsoft.com/en-us/exchange/client-developer...和许多其他资源后,我已将 AD 配置为以下权限:
Microsoft Graph offline_access
Microsoft Graph User.Read
Microsoft Graph Mail.Send
Microsoft Graph openid
Microsoft Graph IMAP.AccessAsUser.All
Microsoft Graph SMTP.Send
Office 365 Exchange Online full_access_as_app
Office 365 Exchange Online POP.AccessAsApp
Office 365 Exchange Online Mail.Send
Office 365 Exchange Online IMAP.AccessAsApp
Run Code Online (Sandbox Code Playgroud)
在 Azure 上使用 PowerShell 激活 SMTP 客户端身份验证https://learn.microsoft.com/en-us/exchange/clients...
PS C:\Users\dx-2102> Get-TransportConfig | Format-List SmtpClientAuthenticationDisabled
SmtpClientAuthenticationDisabled : False
Run Code Online (Sandbox Code Playgroud)
发送电子邮件的实现代码(Java):
Properties prop = new Properties(); …Run Code Online (Sandbox Code Playgroud)