通过IMAP在rails中获取电子邮件

时间:2009-07-01 18:55:47

标签: ruby-on-rails ruby jruby imap actionmailer

我有这个在我们的本地内部网上运行的rails应用程序,有一千个普通用户。我希望将它与我们的电子邮件服务器(MS Exchange)集成。基本上 -

1)对于每个用户,应用程序应从邮件服务器中获取收件箱中的所有新邮件,解析它并将其存储在数据库中。

我可以用ruby / net-imap实现它,但我担心性能。正如我所提到的,有一千个用户,每个用户都有不同的电子邮件地址。每隔x分钟轮询一次电子邮件服务器对于一千个用户来说可能会大大降低性能。

看起来IMAP IDLE with ruby/net-imap可能是一个选项,只要有新邮件(IPhone / Outlook样式),邮件服务器就会向我的应用程序发送通知。但似乎,因为我必须保持与服务器的imap连接打开。因此,如果一次有100个用户登录,则意味着100个与邮件服务器的连接。这会大大减慢应用程序的速度吗?

或者有没有人知道任何其他选项(顺便说一句,我无法控制邮件服务器)

我们正在使用MRI,但也可以轻松切换到jruby。

1 个答案:

答案 0 :(得分:1)

This可能有所帮助......我知道这是针对gmail的,或者不是你正在寻找的,但你可能能够适应你的问题。

还有一些库可以使用ruby来处理imap,例如Chilkat Ruby IMAP Library 2.1,但我还没有尝试过。