【发布时间】:2013-03-11 19:42:19
【问题描述】:
我正在开发一个与 Gmail UI 以及 Gmail 的 IMAP 实现交互的 Chrome 扩展程序。
我的应用程序的后端需要监控每个用户的所有传入电子邮件,并在收到感兴趣的消息/发件人时更新数据库。
我可以设置一个“用户发起的”投票,只要加载我的应用程序,我就会扫描所有新消息,但也有缺点,因为我的应用程序只有在用户使用浏览器时才是最新的。我想随时了解最新情况...
我考虑过对每个用户进行简单的服务器轮询,例如:
For x = 0 to All users
Fetch ALL msg where UID > lastMessageID
if msg.sender == something i care about
UPDATE table...
<repeat>
我还考虑过使用 IMAP IDLE,例如:
For all users, establish imap idle call
for any user whos imap idle returned
if msg.sender == something i care about
UPDATE table...
我想弄清楚的是哪个会更好地扩展,因为我至少需要监控 5-10k 个帐户...
我有什么遗漏吗?对于大量帐户,是否有更简单的方法?
- 注意,除了扫描消息和更新表之外,我不需要存储任何消息。
【问题讨论】:
标签: php gmail oauth-2.0 imap gmail-imap