PHP使用POP3连接Office 365端口995失败、993正常问题咨询
Office365 POP3 995端口连接失败常见原因及解决方案
- 租户未对应用账号开启POP3访问权限
Office365默认不为用户启用POP3访问能力,993端口对应的IMAP服务如果提前完成了启用配置,就会出现993可连、995无法连接的情况。需要租户管理员在Exchange管理中心的用户邮箱属性中,开启POP3访问权限。 - POP3协议的基本身份验证未启用
微软自2022年起默认禁用Exchange Online所有协议的基本身份验证,仅支持OAuth2.0验证。如果你的IMAP服务单独配置了基本身份验证白名单、但POP3没有开通白名单,就会出现993可连、995验证失败无法连接的问题。如果无法申请POP3基本验证白名单,需要调整代码适配OAuth2.0验证逻辑。 - 网络侧封禁995端口出站
部署PHP代码的服务器出口安全组、防火墙,或者所属运营商网络,可能封禁了995端口的TCP出站请求。可以执行以下命令验证网络连通性:openssl s_client -connect outlook.office365.com:995
如果命令长时间无响应、或提示连接超时,说明是网络侧限制了995端口访问,需要调整安全规则放行端口。 - 连接参数适配调整
POP3协议本身仅支持访问INBOX文件夹,不需要额外枚举文件夹列表,你可以调整imap_open参数减少不必要的操作,降低连接出错概率:
// 增加OP_HALFOPEN参数,避免连接时自动枚举不必要的文件夹 $mbox = imap_open('{outlook.office365.com:995/pop3/ssl}', $username, $password, OP_HALFOPEN);
如果你的场景允许使用IMAP协议,优先使用993端口的IMAP服务,微软对IMAP的功能支持和稳定性都优于POP3协议。
内容的提问来源于stack exchange,提问作者Franky
相关产品推荐
相关产品推荐

