Outlook 个人邮箱 OAuth 认证配置
以下是使用 OAuth 2.0 认证 Outlook 个人邮箱、获取 access_token 并发送邮件的完整流程:
🔑 步骤 1:注册 Azure AD 应用
- 访问 Azure 门户。
- 创建新应用注册:
- 名称:自定义应用名(如 MyMailApp)
- 重定向 URI:
http://localhost(开发环境)或实际域名
- 身份验证设置
- 在身份验证选项卡:
- 添加重定向 URI:
http://localhost - 启用'访问令牌'和'ID 令牌'
- 允许公共客户端流:设置为**'是'**
- 添加重定向 URI:
- 在身份验证选项卡:
- 证书和密码
- 创建客户端密钥(客户端密码)
- 记录密钥值(仅显示一次)
- 设置合理的有效期(通常 1-2 年)
记录关键信息:
Application (client) ID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Directory (tenant) ID = yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
账户类型:选择 任何组织目录 (任何 Azure AD 目录 - 多租户) 和个人 Microsoft 帐户
[图片:Azure 门户应用注册界面]
⚙ 步骤 2:配置 API 权限
- 在应用注册页 → API 权限 → 添加权限
- 选择:
- Microsoft Graph → 委托的权限
- 勾选权限:
offline_access(必须!用于获取 refresh_token)Mail.SendUser.Read
- 点击授予管理员同意完成授权
[图片:API 权限配置界面]
🔒 步骤 3:获取授权码(code)
构造授权 URL(直接在浏览器访问):
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&response_type=code&redirect_uri=http://localhost&response_mode=query&scope=offline_access%20mail.send%20user.read&state=123456
- 关键参数说明:
scope必须包含offline_access才能获取 refresh_token- 用户登录后会重定向到
redirect_uri?code=AUTH_CODE


