2009-07-01 20 views
7

Tengo esta aplicación de rieles que se ejecuta en nuestra intranet local, con mil usuarios regulares. Estoy buscando integrarlo con nuestro servidor de correo electrónico (MS Exchange). Básicamente -Recuperación de correos electrónicos en rieles a través de IMAP

1) Para cada usuario, la aplicación debe buscar cualquier mensaje nuevo en su bandeja de entrada del servidor de correo, analizarlo y archivarlo en la base de datos.

Podría implementarlo con ruby ​​/ net-imap, pero me preocupa el rendimiento. Como he mencionado, hay miles de usuarios, cada uno con una dirección de correo electrónico diferente. Sondear el servidor de correo electrónico cada x minutos para miles de usuarios podría reducir drásticamente el rendimiento.

Parece que IMAP IDLE with ruby/net-imap podría ser una opción, el servidor de correo envía una notificación a mi aplicación cada vez que hay un nuevo correo (estilo de iPhone/Outlook). Pero parece que para eso tendré que mantener una conexión imap abierta con el servidor para eso. Entonces, si hay 100 usuarios conectados a la vez, eso significaría 100 conexiones al servidor de correo. ¿Eso ralentizará drásticamente la aplicación?

O ¿alguien sabe de cualquier otra opción (Por cierto, que no tienen control sobre el servidor de correo)

Estamos utilizando resonancia magnética, pero fácilmente podría cambiar a jruby también.

+0

Ver esto: http://stackoverflow.com/questions/1076116/support-for-imap-idle-in-ruby/1818718#1818718 –

Respuesta

1

This podría ayudar ... sé que es para gmail o no exactamente lo que está buscando, pero es posible que pueda adaptarlo a su problema.

También hay algunas bibliotecas para manejar imap con ruby ​​como Chilkat Ruby IMAP Library 2.1, pero todavía no lo he probado.

Cuestiones relacionadas