Python outlook 基于IMAP协议读邮件 报错raise self.error(dat[-1]) imaplib.error: b’LOGIN failed.’
-
我是连接公司域内的outlook邮箱,对权限啊设置啊也不太了解,因为在自己的邮箱设置里有一个手动设置IMAP的地方,也是灰色的。
不过我用过基于smtp协议发邮件,就能成功连接服务器并登陆邮箱发送邮件,而读取邮件基于IMAP协议时能连上服务器却登陆不上邮箱,遇到这个问题用了很多网上的解决办法都无效。
最后解决了,可是我还不知道这是为什么 。。。如果您遇到了【imaplib.error: b’LOGIN failed.'】此类报错问题,可以尝试如下解决;知道是什么原理的话也请教教我这个小菜鸡🤣 -
解决方法:
将mail_user = '用户名@xxxxxxx.com.cn’的后缀去掉,只留下@前面的➡mail_user = ‘用户名’
import imaplib
# mail_user = '用户名@xxxxxxx.com.cn'
mail_user = '用户名' # 这里千万不可以有后缀!有后缀就如上面那行的话会报错
mail_pass = '邮箱的密码'
host = 'xxxxx.com.cn' # 服务器地址
server = imaplib.IMAP4_SSL(host)
print('服务器连接成功')
server.login(mail_user,mail_pass)
print('邮箱登陆成功')