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

Python用IMAP库读取Outlook企业邮箱LOGIN失败求助

公司Outlook邮箱IMAP登录失败问题

我用Python脚本通过IMAP协议读取Outlook邮箱时遇到LOGIN failed错误,脚本能正常读取个人邮箱,但无法读取公司邮箱。已确认未开启双因素认证,邮箱地址和密码正确,且SMTP协议可正常登录发送邮件。

Mail_read.py

import imaplib
import email
import ssl
from getpass import getpass
import html2text

imap_server="outlook.office365.com"

email_addrss="name@companyname.com"
password =  getpass() 

# Login to Outlook email
imap = imaplib.IMAP4_SSL(imap_server,port=993)

imap.login(email_addrss,password)
            
imap.close()

错误信息

imap.login(email_addrss,password)
  File "/usr/lib/python3.10/imaplib.py", line 612, in login
    raise self.error(dat[-1])
imaplib.IMAP4.error: b'LOGIN failed.'

sent_mail_smtp.py (正常运行)

import smtplib

mailserver = smtplib.SMTP('smtp.office365.com',587)
mailserver.ehlo()
mailserver.starttls()
mailserver.login('name@companyname.com', 'Password')

mailserver.sendmail("dname@companyname.com","receiver email","email body")
mailserver.quit()

解决建议

  • 确认企业IMAP权限:多数企业会单独管控IMAP协议权限,即使SMTP可用,IMAP可能被IT部门禁用,联系管理员确认是否开启IMAP服务。
  • 尝试应用专用密码:部分企业域邮箱要求使用应用密码而非登录密码,即使未开启双因素认证,可尝试生成应用密码后登录。
  • 调整IMAP连接方式:改用STARTTLS连接而非直接SSL,代码修改如下:
    imap = imaplib.IMAP4(imap_server, port=143)
    imap.starttls()
    imap.login(email_addrss, password)
    
  • 核对登录账号格式:公司邮箱可能需要使用完整用户主体名称(UPN)或域账户格式(如domain\username),而非单纯邮箱地址,确认账号格式正确性。
  • 网页端启用IMAP:登录Outlook网页版,进入「设置→邮件→同步电子邮件」,手动确认IMAP协议是否已启用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 22:35:51