Gmail IMAP连接被拒绝求助:如何开启Google安全访问权限?
解决Gmail IMAP连接被拒绝的问题
刚碰到过一模一样的情况,你的报错确实大概率是Google的安全机制在拦着,按下面这几步调整设置就能搞定:
第一步:确保Gmail的IMAP访问已开启
- 登录你的Google账号,进入账号的「安全性」设置页面
- 在「邮件」相关选项里找到「IMAP访问」,确认它处于「启用IMAP」状态
第二步:处理Google的账号验证限制
这部分分两种情况:
如果你的账号开启了两步验证(强烈推荐开启)
你不能直接用账号的登录密码,必须用应用密码来替代:
- 回到Google账号的「安全性」页面,找到「应用密码」选项(需要先验证你的身份才能进入)
- 应用类型选「邮件」,设备可以选「其他」并自定义一个名称(比如“PHP IMAP服务”)
- 生成的16位字符串就是你PHP代码里
$password需要填的内容,直接复制过去就行
如果没开启两步验证
现在Google已经逐步停用了「不太安全的应用访问」功能,但如果你的账号还能找到这个选项:
- 在「安全性」页面找到「不太安全的应用访问」,开启它(不过还是建议你开启两步验证用应用密码,更安全)
最后检查你的代码
把密码替换正确后,再运行你的代码试试,这里给你格式化后的代码方便查看:
<?php require "vendor/autoload.php"; $hostname = '{imap.gmail.com:993/imap/ssl}INBOX'; $username = 'mail@gmail.com'; $password = '生成的应用密码'; // 这里替换成正确的密码 $inbox = imap_open($hostname, $username, $password) or die('Cannot connect to Gmail: ' . imap_last_error()); ?>
如果还是不行,再检查下服务器的防火墙有没有限制993端口的出站连接,但先搞定Google的安全设置基本就能解决问题了。
内容的提问来源于stack exchange,提问作者Viabona express
相关产品推荐
相关产品推荐

