我正在致力于将 oauth2 客户端凭证流集成到我的项目中发送的 Java 邮件。之前我已经将授权代码流程与 gmail 集成,并且工作正常。我正在将客户端凭证流与 Office365 集成,以使用 SMTP 发送电子邮件。
我已使用 Microsoft Entra ID P2 许可证创建了一封电子邮件,其电子邮件模式为 @.onmicrosoft.com。我遵循了 Microsoft 提供的指南。 https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth 一切都很好,直到通过 PowerShell 创建服务原则。
New-ServicePrincipal -AppId <APPLICATION_ID> -ObjectId <OBJECT_ID>
以上带有相关值的命令给我以下错误。
Write-ErrorMessage : ExE71684|Microsoft.Exchange.Configuration.ObjectModel.ProvisioningValidationException|The following error occurred during validation in agent 'Substrate Only Agent':
'Organization "APCPR03A003.prod.outlook.com/Microsoft Exchange Hosted Organizations/****.onmicrosoft.com" is not licensed for Exchange email functionality. Cmdlet usage is restricted.'
At C:\Users\****\AppData\Local\Temp\tmpEXO_mevq2tty.bh3\tmpEXO_mevq2tty.bh3.psm1:1190 char:13
+ Write-ErrorMessage $ErrorObject
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [New-ServicePrincipal], ProvisioningValidationException
+ FullyQualifiedErrorId : [Server=SI2PR03MB5355,RequestId=eb85801e-9c74-f63a-b518-fcfc58156c40,TimeStamp=Sat, 09 Dec 2023 04:24:14 GMT],Write-ErrorMessage
当我使用 -Organization 运行命令时,出现以下错误。
不确定我应该采取什么行动。所有其他步骤都工作正常。如果不完成此步骤,电子邮件发送部分将无法使用令牌。它给了
com.sun.mail.smtp.SMTPSendFailedException:530 5.7.57 客户端未经过身份验证以发送邮件。错误:535 5.7.3 身份验证失败 [SI1PR02CA0002.apcprd02.prod.outlook.com 2023-12-09T18:09:03.635Z 08DBF753FBE9A356]
我似乎错过了电子邮件配置中的某些内容,因为错误是
'Organization "APCPR03A003.prod.outlook.com/Microsoft Exchange Hosted Organizations/****.onmicrosoft.com" is not licensed for Exchange email functionality.
非常感谢您的支持。谢谢
我刚刚遇到了同样的 PowerShell 问题:“....onmicrosoft.com”未获得 Exchange 电子邮件功能的许可...”
你找到解决办法了吗?