修改 php-imap 扩展以允许 oauth 身份验证

发布于 2024-09-27 15:32:17 字数 417 浏览 11 评论 0原文

我的 php 应用程序通过 oauth 提供的访问密钥登录 Gmail,并获取收件箱中所有邮件的标头。 php-imap 扩展仅允许基于登录名/密码的身份验证。我想修改扩展,以便它也支持基于 oauth 的身份验证。我需要弄清楚如何在扩展代码本身内部进行更改并编译它。不好的部分是,我不知道在哪里进行更改以及如何编译 php 扩展

早些时候我使用 Zend 提供的 IMAP 类来完成此任务。它们的速度非常慢,如果需要超过 40-45 分钟左右,gmail 往往会断开连接。对于非常大的收件箱,这种情况经常发生。我用 php-imap 扩展对此进行了测试,它的工作速度几乎比 zend 快 10 倍(我猜是因为它是用 C 编写的)

所以我需要弄清楚当前 php-imap 代码中如何以及在何处进行身份验证以及如何进行身份验证进行更改后我是否重新编译它?

任何指示表示赞赏。

My php application logs into to Gmail via oauth provided access keys and fetch headers for all messages in inbox. The php-imap extension allows only for login/password based authentication. I want to modify the extension so that it support oauth based authentication too. I need to figure out how to make that change inside the extension code itself and compile it. Bad part, I do not have much clue where to make changes and how to compile a php extension

Earlier I was using the Zend provided IMAP classes for this task. They are very slow and gmail tends to disconnect the connection if it takes more than 40-45 minutes or so. For very large inboxes this was happening frequently. I tested this with php-imap extension and it worked almost 10 times faster that the zend one (i guess since its written in C)

So I need to figure out how and where authentication is taking place in the current php-imap code and how do i re-compile it after making the changes.

Any pointers are appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

往日情怀 2024-10-04 15:32:17

PHP 包装了 c-client 库,因此您必须检查的第一件事是是否有对该库使用 OAuth 身份验证的方法。您可以尝试此邮件列表

PHP 扩展仅在 一个文件。您可以轻松找到连接/身份验证发生的位置。

PHP wraps the c-client libary, so the first thing you would have to check would be if there's a way to use OAuth authentication with that library. You may try this mailing list.

The PHP extension is implemented in just one file. You won't have trouble finding out where the connection/authentication takes place.

过度放纵 2024-10-04 15:32:17

使用 php_sockets 实现了一个简单的库。希望能按要求行事。
尚未添加删除邮件功能。不过你可以看看是否满足你的需求。

尝试示例。 https://github.com/vmuthal/VivOAuthIMAP

Using php_sockets Implemented a simple library. Hopefully will act as required.
Delete mail function is not yet added. But you can take a look if it satisfies your need.

Try example. https://github.com/vmuthal/VivOAuthIMAP

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文