PHP - Como detectar la recepcion de un determinado email

 
Vista:

Como detectar la recepcion de un determinado email

Publicado por Patricia (2 intervenciones) el 15/07/2005 18:05:32
Hola a todos.

Un problemilla un poco complicado. He desarrollado un pequeño sistema que efectua el envio de un mismo email a un grupo de direcciones de correo. Despues del envio, quiero mostrar en el sistema el estado de cada email enviado, que puede ser:

A) ENVIADO.
B) RECIBIDO Y LEIDO.
C) RECIBIDO: CLIENTE "OUT OF OFFICE" (ya sabeis, cuando el receptor tiene activada en su cliente de correo la opcion "Out of office").
D) DIRECCION DE CORREO NO EXISTENTE/INCORRECTA.

El caso A es el inicial por defecto, y se mantiene mientras "no pase nada".

Detectar el caso B es facil: en el cuerpo del email inserto un link que llama al script que cambia el estado del email (en realidad una imagen, <img src="mimaquina.com/cambiaStatusEmail.cgi?status=RECIBIDO_Y_LEIDO">). Cada vez que el receptor del email lo abra, se llamara a este script.

El problema viene con los casos C y D. En ambos recibo de vuelta un correo, que sera del tipo "Espinete is out of office" o "Mail delivery failure"... pero, ¿como puedo automatizar el que a la recepcion de uno de esos correos se ejecute uno de mis scripts?

Cualquier idea sera bienvenida chicos. Espero que alguien pueda ayudarme.

Gracias,

Patricia.

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como detectar la recepcion de un determinado em

Publicado por Mike79 (669 intervenciones) el 16/07/2005 04:36:36
Muchas personas bloqueamos la visualización de imagenes en los correos, precisamente para evitar ser rastreados cuando no queremos. Te recomiendo que en lugar de usar imagenes utilices las opciones para "confirmacion de recivido" en cuyo caso, tambien se genera un e-mail de regreso. Ahora bien, podrias usar las dos formas.

Bueno para recivir los correos, la verdad es bastante facil. Muchos servidores de correo tienen opciones para procesar los e-mails tan pronto son recividos, por ejemplo, puedes modificar el archivo de sendmail para que cada vez que recive un correo a una determinada dirección (la dirección que usas como remitente), se ejecute un programa que procese el correo que se acaba de recivir. En este caso el correo no se almacena en el spool, si no que es pasado directamente al programa que se ejecuta.

Muchos otros servidores de correo electronico, tienen opciones parecida, y en caso de que tu servidor de e-mail este en otro sitio (no especificas), puedes usar las funciones de pop3 de php para correr cada x cantidad de tiempo un script que revise por los correos recividos. Te recuerdo que si usas esta ultima opción, vallas borrando los correos que vas revisando para que no se acumulen.

Saludos!
-
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como detectar la recepcion de un determinado em

Publicado por Patricia (2 intervenciones) el 18/07/2005 14:10:50
Muchas gracias Miguel Angel.

Ya me he puesto en contacto con los administradores del servidor de correo para ver que pueden hacer. El problema es diferenciar los correos de los tipos A) o B) de los correos normales que se puedan recibir en esa direccion.
En cualquier caso prefiero esta solucion a la segunda que me das (funciones POP que rastreen cada cierto tiempo) ya que necesito que la actualizacion del estado de los envios sea en tiempo real.

Te mandare un correito cuando termine.

Un beso.
Patricia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar