Foros del Web » Programando para Internet » PHP »

Controlar desde web envíos de email, recibidos y retornados...

Estas en el tema de Controlar desde web envíos de email, recibidos y retornados... en el foro de PHP en Foros del Web. Hola Socios, Estoy intentando averiguar si hay alguna forma factible a través de la cual pueda controlarse si un correo que se ha enviado desde ...
  #1 (permalink)  
Antiguo 25/11/2008, 06:09
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Controlar desde web envíos de email, recibidos y retornados...

Hola Socios,

Estoy intentando averiguar si hay alguna forma factible a través de la cual pueda controlarse si un correo que se ha enviado desde una web ha llegado a su destinatario o si ha sido retornado por el sistema.

El tema está en una aplicación que estamos haciendo para enviar newsletters, y estamos sopesando la posibilidad de agregar unas estadísticas de emails enviados, recibidos correctamente y retornados por el sistema...

Esto imagino que por si solo, no se puede hacer, pero quizás conectandose al servidor de correo y recogiendo los encabezados... En fin, no se si ahora me estoy flipando o que...

Alguien ha probado alguna cosa similar o ha desarrollado algo con esta intención?

Gracias a todos!
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #2 (permalink)  
Antiguo 25/11/2008, 06:15
Avatar de marcosr  
Fecha de Ingreso: agosto-2005
Ubicación: Montevideo, Uruguay
Mensajes: 451
Antigüedad: 18 años, 8 meses
Puntos: 5
Respuesta: Controlar desde web envíos de email, recibidos y retornados...

Hola nunca he probado nada de lo que tu quieres pero se me ocurre que tal vez (aunque no será lo más certero) envíes junto al correo una solicitud de confirmación de lectura. Digo que no tendrás la información más certera ya que servidores importantes como Gmail no aceptan este servicio o al menos yo no he logrado hacerlo funcionar con Gmail.

Saludos !
__________________
Yo hago preguntas inteligentes para obtener respuestas rapidas, y vos?
(únete a la campaña !)
  #3 (permalink)  
Antiguo 25/11/2008, 06:18
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Respuesta: Controlar desde web envíos de email, recibidos y retornados...

Cita:
Iniciado por marcosr Ver Mensaje
Hola nunca he probado nada de lo que tu quieres pero se me ocurre que tal vez (aunque no será lo más certero) envíes junto al correo una solicitud de confirmación de lectura. Digo que no tendrás la información más certera ya que servidores importantes como Gmail no aceptan este servicio o al menos yo no he logrado hacerlo funcionar con Gmail.

Saludos !
Ya... es que imagino que estos datos de correos recibidos o retornados, dependerá de algún otro programa instalado en el servidor que controle el envío de los correos. Por si solo desde PHP lo veo bastante improbable..

Un servicio que es via web y que te ofrece estas y mas estadísticas es campaign monitor.... pero claro, todo esto debe ser dependiente de un software que te devolverá datos estadísiticos, tanto por seguridad como por velocidad de procesado lo veo mucho mas factible así...
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #4 (permalink)  
Antiguo 25/11/2008, 10:14
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: Controlar desde web envíos de email, recibidos y retornados...

markshock:
Lo primero que se me ocurre es detallar lo relacionado a la funcion mail() de php
y el envio del correo para su procesamiento hacia el servidor de correo que eventualmente se encargara de hacer el envio efectivo.
La funcion mail() o imap_mail() de php contempla un if(mail(.....
esto implica que si el servidor rechaza el correo obtendras un correo imposibilitado de ser procesado por el servidor.
El servidor se ve imposibilitado de procesar un correo cuando,
generalmente hablando y suponiendo que estas tratando con un servidor de correo profesional, el correo no contiene un @, cuando no tiene usuario, cuando el dominio esta mal escrito en terminos de la terminacion o que por equivocacion se puso una coma en vez de un punto al com del dominio; en estos casos la funcion mail() te reporta de inmediato un fracazo del envio y se refleja en el script que pretende enviar y la realidad que el servidor NO acepta este tipo de envios.
Asimismo, la funcion mail() puede NO reportar un fracazo del envio, especialmente cuando el servidor que lo recibe lo acepto como bueno ya que paso las primeras pruebas o filtros que se requieren para enviar exitosamente. Ahora, si ha pasado todas estas pruebas preliminares, el servidor de correo se prepara para hacer el envio efectivo y nos preguntamos que pasa si el servidor de correo que maneja el destino de la direccion de correo esta inhabilitado por x o y razones; en este caso especifico el servoidor de correo mantiene el envio pendiente por hasta unas 72 horas y periodicamente estara tratando de conectar con el servidor receptor, si eventualmente el correo es enviado exitosamente y por ende recibido por el servidor de destino la unica informacion que tu puedes obtener proviene del servidor de correo que envia y es en cuanto a retrasos; en este caso es necesario estar en contacto con los administradores del servidor de correo para que te brinden informacion al respecto.
He conocido de casos de servidores de correo que por razones no claras nunca el envio llega de inmediato, que es lo que debia ser cuando se trata de un servidor de correo bien instalado y profesional.
Si el correo es eventualmente NO enviado o rechazado por el servidor del destinatario, tu nunca tendras forma de saberlo.
Si profundisas en lo que son las librerias imap(), si hay forma de saber el fracazo o la situacion de que el correo ha sido retrazado por x o y razon y eventualmente saber si ha sido rechasado o no enviado por x o y razon.
Las librerias imap(), te conectan con el servidor de correo que utilizas y te permiten revisar los correos entrantes, salientes etc de tu cuenta de correo.
Es decir que cuando el servidor de correo que utilizas para enviar fracaza en su primer envio, generalmente los servidores de correo envian un correo de aviso de tal situacion a tu cuenta de correo del retrazo y las razones especificas, ademas en el texto del correo aparece una cabecera completa de lo sucedido paso a paso; si el correo es eventualmente enviado exitosamente NO hay mas comunicacion y si el correo fracaza totalmente entonces el servidor envia un correo a tu cuenta de correo notificando del fracazo total del envio; eso lo puedes verificar con la librerias imap().
Osea que tu codigo debera contemplar un codigo independiente y adicional que te permita revisar tu cuenta de correo y determinar que si el "from" del correo proviene de los administradores de el servidor de correo que utilizas pues podras leer el correo e ir contabilizando los exitos y fracazos conforme se desarrollan tus envios.
Considero que seria un script algo complicado pero es posible
Saludos
Y espero te ayude
Franco
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 16:31.