如何用PHP获取Gmail(G Suite)垃圾邮件文件夹中的退信?
如何用PHP获取Gmail/G Suite垃圾邮件文件夹中的退信?
问题概述
需要通过PHP批量处理Gmail/G Suite垃圾邮件文件夹中大量的「Undelivered Mail Returned to Sender」或「postmaster」类退信,但在使用IMAP相关库或原生imap_open()函数时遇到连接认证错误。
遇到的错误
- 调用
imap_open()时提示:imap_open(): Couldn't open stream - 连接中断错误:
[CLOSED] IMAP connection broken (server response) - 认证失败错误:
[AUTHENTICATIONFAILED] Invalid credentials (Failure) - 登录失败次数过多错误:
Too many login failures
解决方案
进入Gmail账户的安全设置页面,开启低安全应用的IMAP访问权限,即可解决上述认证问题,成功建立IMAP连接。
示例代码
成功开启权限后,可使用以下代码连接Gmail的垃圾邮件文件夹:
// 针对中文界面Gmail $connection = imap_open('{imap.gmail.com:993/imap/ssl}[Gmail]/垃圾邮件', 'me@mydomain.com', 'MyPassword'); // 针对英文界面Gmail // $connection = imap_open('{imap.gmail.com:993/imap/ssl}Junk', 'me@mydomain.com', 'MyPassword'); if (!$connection) { die('连接失败: ' . imap_last_error()); } // 后续可执行邮件读取、处理逻辑 // ... imap_close($connection);
内容的提问来源于stack exchange,提问作者Pascal
相关产品推荐
相关产品推荐

