You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用OAuth 2认证Microsoft Office365账户时失败求助

排查POP OAuth2认证失败("unknown user name or bad password")的核心步骤
  • 验证令牌受众范围
    生成OAuth2令牌时必须指定POP专属的scope:https://outlook.office365.com/POP.AccessAsUser.All。解码令牌(可使用本地JWT工具或命令jwt decode <your-token>)检查aud字段,确保值为https://outlook.office365.com,而非Graph API的https://graph.microsoft.com——受众不匹配是触发该错误的最常见原因。

  • 严格遵循POP OAuth2认证格式
    POP协议的OAuth2认证不支持直接将令牌作为密码输入,必须按照RFC 7628规范构造密码字段:

    user=user@contoso.com\x01auth=Bearer <your-oauth-token>\x01\x01
    

    注意:\x01是ASCII控制字符(SOH),不是字符串文本;用户名必须填写完整的邮箱地址,不能省略域名。

  • 核对Azure AD应用权限配置

    • 必须添加委派权限POP.AccessAsUser.All,且已完成管理员同意(POP协议不支持应用权限,只能使用委派权限+用户名密码流/授权码流)
    • 若服务为公共客户端(无客户端密钥),需在Azure AD应用的「认证」页面开启「允许公共客户端流」选项
  • 检查Windows服务运行上下文

    • 避免使用本地系统账户运行服务,改用拥有目标邮箱访问权限的域账户或本地账户
    • 确认服务账户未被Exchange Online安全策略限制(如禁止POP协议访问)
  • 验证Exchange Online POP设置

    • 在Exchange Admin Center中,确认目标邮箱的「邮箱功能」里已启用POP访问
    • 检查组织级POP设置,确保「允许OAuth2认证」选项已勾选(路径:设置→邮件流设置→POP和IMAP)

内容的提问来源于stack exchange,提问作者Martin Rousev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 04:50:14