谷歌掩埋PHP IMAP扩展

Google告知G Suite帐户所有者,从2021年2月15日起,Gmail和其他产品中的授权将只能通过OAuth进行。

对于IMAP授权,邀请开发人员使用一种称为SASL XOAUTH2的授权方法。 但是事实是,标准的PHP IMAP扩展名(即imap_open函数)无法使用Google提出的算法登录。

即 如果您在项目中使用标准的PHP IMAP扩展,则G Suite帐户的所有者很快将无法使用您的应用程序。 随着时间的流逝,Google也可能不会“照料”连接到常规Gmail帐户,也不会将IMAP身份验证转移到OAuth。

作为参考,仅在GitHub上就有超过12.1万个使用标准PHP IMAP扩展的脚本和项目。



有什么可能的解决方案

  1. 在您的应用程序中通知它与G Suite Gmail帐户不兼容,并建议您通过其他服务开始发送邮件。
  2. 将其项目转换为使用Zend Mail库,该库可以使用Google提出的算法进行授权。 另一件事是,很少有人会乐于从PHP IMAP的快速本机扩展切换到第三方库。
  3. 尝试说服Google接受IMAP密码中的OAuth令牌: github.com/google/gmail-oauth2-tools/issues/18 。 相当简单且合乎逻辑的解决方案。 然后,所有可用的IMAP库(包括PHP IMAP)将继续运行,并且能够通过在IMAP密码中传递OAuth令牌来接收来自Gmail的邮件。


UPD 1

第四个建议出现在注释中, 在这里 -等待PHP IMAP扩展中实现IMAP OAuth身份验证。 但这不是那么简单。 这里这里是关于PHP.net 讨论

UPD 2

没有将OAuth添加到PHP IMAP扩展的选项: news-web.php.net/php.internals/107950

UPD 3

兴趣的人被邀请参加围绕Zend Mail的包装器的开发,该包装器支持XOUATH2,并提供类似于PHP IMAP的一组功能: github.com/freescout-helpdesk/ximap

Source: https://habr.com/ru/post/zh-CN481786/


All Articles