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

如何使用Ruby Mail gem通过POP3和OAuth2令牌获取Office 365邮件?

使用Ruby Mail gem通过OAuth2访问Outlook POP3邮件

微软已停止支持POP3协议的用户名密码登录,必须改用OAuth2令牌认证。针对你已获取到令牌的情况,只需调整Mail gem的POP3配置即可实现兼容:

修改后的代码示例

Mail.defaults do
  retriever_method :pop3,
    address: "outlook.office365.com",
    port: 995,
    user_name: username, # 保持原Outlook邮箱地址不变
    password: oauth2_access_token, # 替换为你的OAuth2访问令牌
    enable_ssl: true,
    authentication: :xoauth2 # 核心:指定使用XOAuth2认证方式
end

all_mails = Mail.all

关键说明

  • authentication: :xoauth2:这是让POP3适配器启用OAuth2认证的核心参数,必须添加
  • password字段不再填原密码,而是填入你已获取的有效OAuth2访问令牌
  • user_name仍使用你的Outlook邮箱地址,无需修改

注意事项

  • 确保你的OAuth2令牌已授权POP.AccessAsUser.All权限(在Azure AD应用注册的权限配置中确认)
  • 令牌有有效期限制,过期后需要重新获取新的令牌才能继续访问
  • 首次测试建议用Mail.first拉取单封邮件验证,避免一次性拉取大量邮件导致异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 14:02:03