如何使用imaplib连接启用多因素认证的Outlook邮件服务器?
解决Outlook IMAP登录失败(含两步验证验证码)问题
核心原因
Outlook账户开启两步验证(2FA)后,直接用原密码加动态验证码无法通过imaplib登录——imaplib的login方法仅支持一次性提交静态凭据,不支持动态验证码的交互验证流程。此时必须用微软应用专用密码替代原密码。
解决步骤
1. 生成应用专用密码
- 登录微软账户安全中心,找到「应用密码」选项(需先开启两步验证才会显示该选项)。
- 为你的Python IMAP应用创建新的应用密码,复制生成的密码(注意:该密码仅显示一次,务必妥善保存)。
2. 修改Python代码
把代码中的imap_pass替换为刚生成的应用专用密码,无需添加动态验证码:
import imaplib imap_host = 'imap-mail.outlook.com' imap_user = '你的Outlook邮箱地址' imap_pass = '生成的应用专用密码' imap = imaplib.IMAP4_SSL(imap_host) imap.login(imap_user, imap_pass) imap.select('Inbox')
3. 验证登录
运行修改后的代码,即可正常连接Outlook的IMAP服务器,不会再出现LOGIN failed错误。
内容的提问来源于stack exchange,提问作者Pranjit Chowdhury
相关产品推荐
相关产品推荐

