Foros del Web » Programando para Internet » PHP »

Imap & php

Estas en el tema de Imap & php en el foro de PHP en Foros del Web. Hola buenas! Estoy haciendo unas pruebas con IMAP y PHP, para realizar un pequeño cliente de correo. En general, me funciona todo bien (conectarme, obtener ...
  #1 (permalink)  
Antiguo 22/01/2012, 22:07
 
Fecha de Ingreso: enero-2007
Ubicación: Santiago
Mensajes: 9
Antigüedad: 17 años, 2 meses
Puntos: 0
Imap & php

Hola buenas!

Estoy haciendo unas pruebas con IMAP y PHP, para realizar un pequeño cliente de correo.
En general, me funciona todo bien (conectarme, obtener los correos, marcar aglun flag como leido, answered, etc), pero hay algo que no he podido solucionar.

La idea es tener una copia de los correos en mi servidor en una BD MySQL para así poder procesar y buscar todo más rápido. Para esto, he intentato lo siguiente (y díganmte si estoy muy equivocado o hay alguna mejor opción)

Para hacer esto, tengo que tener un CronJob que importe constantemente nuevos correos. Este archivo que se conecta a mi casilla de correos, debe de saber que correo es nuevo y cual no (fácil a través de UID de cada correo).

Mi pregunta es: ¿Cada vez que este importador se conecta ¿tiene que traer una lista completa de tooodos los correos?. Si solo obtengo los correos de las ultimas 48 horas para no sobrecargar tanto, ¿Que pasa si en otor cliente de correo modifico un email de la semana pasada y lo marco como no leido, o le agrego una etiqueta?

¿Tengo como saber a través de IMAP que emails se han modificado últimamente?


¿Cual es la mejor forma de ir sincronizando lo que asa en el servidor con lo que guardo en mi BD?

Gracias de antemano por la ayuda!
  #2 (permalink)  
Antiguo 27/01/2012, 01:15
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 6 meses
Puntos: 331
Respuesta: Imap & php

Evidentemente si consultas las últimas 48 horas pero los usuarios pueden modificar todo, entonces no hay sincronización. De todas maneras trabajar con una base de datos tampoco parece una buena alternativa, es lento y costoso. Una solución es algún tipo de cache donde guardas, en este caso, los email de las últimas 48 horas. Cuando el usuario consulta algún dato previo a esa fecha entonces vuelves a llamar a tu servidor IMAP. Puedes utilizar Memcached:

http://de2.php.net/manual/en/book.memcached.php

Salu2
__________________
Fere libenter homines, id quod volunt, credunt.

Etiquetas: imap, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:14.