Python使用imaplib登录Gmail提示需应用专用密码报错如何解决
报错原因
该报错的核心原因是谷歌账号的登录安全策略限制,和你写的代码逻辑无关:
- 若你的Gmail账号开启了两步验证(2FA),低安全性应用访问设置会直接失效,无法通过账号主密码登录第三方IMAP客户端
- 2022年5月31日起,谷歌已经全面停用了普通账号的低安全性应用访问功能,未开启两步验证的账号也无法再使用主密码直接登录第三方邮件服务
你已经开启IMAP权限的操作是正确的,不属于问题诱因。
解决方法
你需要生成谷歌账号的应用专用密码替换代码中的登录密码即可,操作步骤如下:
- 先为你的Gmail账号开启两步验证,这是生成应用专用密码的前置要求
- 进入谷歌账号管理的「安全性」板块,在「登录Google」分类下找到「应用专用密码」入口
- 应用类型选择自定义,填写任意便于识别的名称(如Python邮件抓取),即可生成16位无空格的专用密码
- 将你代码中
mail.login方法的第二个参数,也就是原密码替换为上述16位专用密码,不需要修改其他代码逻辑,即可正常登录
内容的提问来源于stack exchange,提问作者Harsh Goyal
相关产品推荐
相关产品推荐

