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

使用nodejs-imap连接Office365 Outlook邮箱遇LOGIN failed错误

Office365 Outlook IMAP登录失败(nodejs-imap)解决方案

针对你遇到的LOGIN failed错误,以下是具体排查和解决方法:

1. 多因素认证(MFA)导致密码失效

如果你的账号开启了MFA,浏览器能用密码登录,但IMAP客户端无法直接使用原密码——必须使用应用专用密码:

  • 登录Microsoft账号安全中心,找到「应用专用密码」选项
  • 生成一个专用密码,替换配置里的EMAIL_PASS

2. 改用XOAUTH2认证方式

Office365现在优先支持XOAUTH2,传统LOGIN方式可能被限制。修改nodejs-imap配置:

const imapConfig = {
  user: process.env.EMAIL_USER,
  xoauth2: process.env.OAUTH2_ACCESS_TOKEN, // 填入XOAUTH2访问令牌
  host: 'outlook.office365.com',
  port: 993,
  debug: console.log,
  tls: true,
};

获取令牌需要:

  • 在Azure AD注册应用,申请IMAP.AccessAsUser.All权限
  • 通过授权码流或密码流获取有效访问令牌

3. 确认IMAP协议已开启

登录Outlook网页版:

  • 进入「设置」>「查看所有Outlook设置」>「邮件」>「同步电子邮件」
  • 确保「IMAP」开关处于开启状态

4. 检查租户安全默认设置

如果你的组织开启了Microsoft安全默认值,会拦截传统用户名/密码认证:

  • 登录Azure AD管理中心,进入「Azure Active Directory」>「属性」>「管理安全默认值」
  • 要么关闭安全默认值,要么确保应用使用XOAUTH2这种现代认证方式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 10:51:09