我正在寻求建立CRM,并且需要同步多个用户的电子邮件。因此,我的问题是如何管理多个连接。我看到我们可以为单个用户使用IMAP IDLE来在电子邮件到达时获得通知,但是我将需要具有数百个连接,仅在不同线程中具有数百个连接就能工作吗?另外,我怀疑电子邮件服务器是否允许来自单个IP的这么多连接。 此外,关于GMAIL,它们提供了REST API,但它们也对允许的最大连接数有限制。那么,如何为所有用户同步电子邮件?
如果您能指出正确的方向,那就太好了。 谢谢。
答案 0 :(得分:0)
来自单个IP地址的数百个IMAP连接并不罕见;在许多办公室中,整个办公室网络的出站网关看起来(实际上是)来自外部的单个IP地址。
挑战主要是跟踪代码中的众多连接。
在这里,IDLE可能是一个好主意,但是为了使代码能够抵御网络中断,您还必须为IDLE会话间歇性断开做好准备。因此,仅在需要时构建程序以重新连接。然后,如果发现连接数超出服务器的处理能力,则将代码更改为始终或定期更改,断开连接将是一个相对简单的更改。
为进行比较,请考虑繁忙的Web服务器必须管理的连接数。这些是忙连接;你的大部分时间都会睡觉。 (不过,如果您希望扩展到成千上万的并发连接,则可能要小心;操作系统有一个可以调整的限制,但不是无限的。)