Foros del Web » Programando para Internet » PHP »

Crear script que registre quien esta viendo la imagen(capture correo)

Estas en el tema de Crear script que registre quien esta viendo la imagen(capture correo) en el foro de PHP en Foros del Web. Amigos: Quiero Orientacion al respecto de este tema o enunciado. envio mail con phpmailer....este mail tiene contenido HTML O PHP, Entonces Necesito crear un script ...
  #1 (permalink)  
Antiguo 27/06/2012, 10:40
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 13 años, 5 meses
Puntos: 3
Crear script que registre quien esta viendo la imagen(capture correo)

Amigos:

Quiero Orientacion al respecto de este tema o enunciado.

envio mail con phpmailer....este mail tiene contenido HTML O PHP,
Entonces Necesito crear un script PHP que me sirva una imagen del servidor y registre quien esta viendo la imagen....


Código PHP:
    <td height="10" style="padding-left: 8px; padding-bottom: 1px;"><img src="<?php script  ?>"  alt="" width="550" height="126" /></td>


en img me haga la llamada al script y me muestre la imagen del servidor..los parametros que se pasan al script esta el email del del usuario que esta viendo el email. y debo registrar esa direccion en una base de datos.....todo eso lo ara el script.....


gracias!
  #2 (permalink)  
Antiguo 27/06/2012, 11:21
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 1 mes
Puntos: 35
Respuesta: Crear script que registre quien esta viendo la imagen(capture correo)

rpichinu, si lo que esta describiendo lo esta intentando hacer en el momento en que la persona esta leyendo el mail, yo le digo que no va ser posible, ahora si lo quiere hacer usar una funcion en en "href", lamento decirle que no es posible si no lo ace con Javascritp.
  #3 (permalink)  
Antiguo 27/06/2012, 11:30
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Crear script que registre quien esta viendo la imagen(capture correo)

Se puede, pero no tan así. Por ejemplo:

Código PHP:
Ver original
  1. //texto que queremos mostrar
  2. $str = 'Nahuel';
  3.  
  4.  
  5. //ancho y alto de la imagen
  6. $imgW = 196;
  7. $imgH = 52;
  8. $image = imagecreatetruecolor($imgW, $imgH);
  9.  
  10. //color de borde y fondo
  11. $backgr_col = imagecolorallocate($image, 255,255,255);
  12. $border_col = imagecolorallocate($image, 255,255,255);
  13.  
  14. //color de texto
  15. $text_col = imagecolorallocate($image, 110,79,3);
  16.  
  17. //llenar rectangulo
  18. imagefilledrectangle($image, 0, 0, $imgW, $imgH, $backgr_col);
  19. imagerectangle($image, 0, 0, $imgW-1, $imgH-1, $border_col);
  20.  
  21. //fuente
  22. $font = "SpecialElite.ttf";
  23.  
  24. //tamaño de fuente e inclicancion
  25. $font_size = $imgH / 3;
  26. $angle = rand(-15,15);
  27. //$box = imagettfbbox($font_size, $angle, $font, $str);
  28. $box = imagettfbbox($font_size, $angle, $font, $str);
  29. $x = (int)($imgW - $box[4]) / 2;
  30. $y = (int)($imgH - $box[5]) / 2;
  31. imagettftext($image, $font_size, $angle, $x, $y, $text_col, $font, $str);
  32.  
  33.  //guardar datos de visitante en archivo
  34. $myFile = "log.txt";
  35. $fh = fopen($myFile, 'a');
  36. $stringData =  '[' . date('c') . '] ' .$_SERVER['REMOTE_ADDR'] . ' // ' .  gethostbyaddr($_SERVER['REMOTE_ADDR']) .'';
  37. fwrite($fh, $stringData);
  38. fclose($fh);
  39.  
  40. //mostrar la imagen en el nevegador
  41. header("Content-type: image/png");
  42. imagepng($image);
  43. imagedestroy ($image);

Además de eso, para hacerlo mejor, hacemos que se pueda acceder al archivo con la extensión jpg usando htaccess:

Código Apache:
Ver original
  1. RewriteEngine On
  2. RewriteBase /ejemplos/captcha/
  3. RewriteRule ^captcha.jpg$ captcha.php

Captcha es el nombre que yo le puse pues para eso lo uso.

Fijate, si yo coloco acá la imagen:


Este log se irá actualizando con la información de los visitantes:
http://nahueljose.com.ar/ejemplos/captcha/log.txt

La imagen se la puede incluir en un html en un mail y funcionaría, pero no se puede obtener la información que vos precisás. Podés obtener datos que puedan ser generados por el cliente y pasados a $_SERVER o al pedido HTTP.
__________________
nahueljose.com.ar
  #4 (permalink)  
Antiguo 27/06/2012, 11:33
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Crear script que registre quien esta viendo la imagen(capture correo)

si...jajjajaj se que es un entuertoooo seguire averiguando....porque realmente ni yo tengo bien claro lo que tengo que hacer.
  #5 (permalink)  
Antiguo 27/06/2012, 11:38
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Crear script que registre quien esta viendo la imagen(capture correo)

Gracias Nahuel...deja hacerle un seguimiento a tu codigo...MUchas gracias!
  #6 (permalink)  
Antiguo 27/06/2012, 11:57
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Crear script que registre quien esta viendo la imagen(capture correo)

aver creo que ahora ordene un poco mis ideas.

reeplanteo el enunciado.


Tengo un script que envia correos a una lista determinada de usuario.........
el correo que envio..tiene contenido php y html en el cuerpo....y basicamente muestra un template....algo asi como un afiche......
ese afiche el html lo extrae del servidor ..osea en vez de una url jxxxxxx.cl/xxxx/imagen.jp .....lo busque en el servidor....mediante un script php.

entonces cada vez que alguien recibe y abre el correo-.....esa imagen del afiche la va a buscar en el servidor------entonces el script que tengo ke hacer es que me devuelva ese imagen....y me capture el correo de quien lo esta viendo???.....

se entiende masomenos ahora?....
  #7 (permalink)  
Antiguo 27/06/2012, 12:17
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Crear script que registre quien esta viendo la imagen(capture correo)

Se entendió perfectamente la primera vez. El ejemplo que te mostré hace eso.

Lo que yo te decía es que no se puede obtener el email de la persona que lo está viendo de esa forma ni incluir código PHP en el email. Una forma es como te indiqué, generando una imagen con php e incrustar esa imagen generada en el HTML del email. De esta forma podemos saber el momento exacto que el email fue abierto (siempre que el cliente permita la visualización de imágenes y estas no estén bloqueadas) y la IP y otra información básica del usuario. Nada más.
__________________
nahueljose.com.ar
  #8 (permalink)  
Antiguo 27/06/2012, 12:37
 
Fecha de Ingreso: mayo-2009
Mensajes: 5
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Crear script que registre quien esta viendo la imagen(capture correo)

Pues si que se puede hacer, lo primero es que en el mail no se puede poner ningún script php o javascript, ya que esto ademas de no funcionar bien, lo ven como spam.

Para hacer lo que comentas, debes tener los mails en una base de datos con los campos minimos de Id, Email, Visitas.

En la <img src="http://www.tuhost.com/imagen-ID.gif">, donde ID tendra que ser por ejemplo el ID autonumérico que tenga ese email en una tabla de una base de datos.

Ni que decir que tiene que hacerse sobre un servidor apache y en la regla .htaccess ponerlo mas o menos asi:

RewriteEngine On
RewriteBase /
RewriteRule imagen-([a-zA-Z0-9_-]+)\.gif$ controlmail.php?id=$1

El script php controlmail.php recibirá el id que corresponde con tu email del usuario almacenado en la base de datos y por lo que puede sumar uno a la visita.

Para engañar a los sitemas y que realmente carge una imagen, dentro del script hay que hacer esto, para expulsar una imagen:

header('Content-Type: image/gif');
readfile('images/imagen-mail.gif');

El script no debe escribir cabeceras excepto esta y la ruta de images/imagen-mail.gif logicamente debe existir con la imagen.

Asi pues si el usuario ve el mail, siempre que tenga la carga de imagenes se accederá al script php y lo tendras controlado.

Espero que te sirva la orientación.
  #9 (permalink)  
Antiguo 27/06/2012, 12:39
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Crear script que registre quien esta viendo la imagen(capture correo)

Cita:
Iniciado por Txete Ver Mensaje
RewriteEngine On
RewriteBase /
RewriteRule imagen-([a-zA-Z0-9_-]+)\.gif$ controlmail.php?id=$1
Genial... Es tan simple que jamás lo habría pensado :P
__________________
nahueljose.com.ar
  #10 (permalink)  
Antiguo 27/06/2012, 14:23
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Crear script que registre quien esta viendo la imagen(capture correo)

Txete .....tienes harta razon en tu comentario...
la base de dato con la email y sus campos ya la cree...

respecto de esta parte:

Código HTML:
Ver original
  1. <img src="http://www.tuhost.com/imagen-ID.gif">

no comprendo ...me dijieron algo parecido a lo que mencionas por ejemplo:

Código HTML:
Ver original
  1. <img src="http://www.tuhost.com/[email protected]

la verdad es que no se por donde empezar jaajajajaj es muy compleja esta tarea?
  #11 (permalink)  
Antiguo 27/06/2012, 14:36
 
Fecha de Ingreso: mayo-2009
Mensajes: 5
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Crear script que registre quien esta viendo la imagen(capture correo)

Lo que dices que te han dicho que hagas no se puede hacer, bueno se podrá hacer pero no esta bien visto y es posible que los detectores de antispam te bloqueen el mail y nunca llegue a su destino.

Te explico, se supone que si tienes una lista de mails los envies desde algun script php donde generas dinamicamente el html por cada mail almacenado en la base de datos remplazando el ID que esta la la imagen por el Id del registro de la tabla.

Con lo que al usuario que le llege el mail ya estará remplazado <img src="http://www.tuhost.com/imagen-1.gif"> corresponderá al registro con Id numero 1, con mail [email protected], el siguiente registro será <img src="http://www.tuhost.com/imagen-2.gif">, corresponderá al registro con Id 2, con mail [email protected] y asi sucesivamente.

Si los vas a enviar manualmente, que me parece una locura a menos que se lo envies a 2 o 3, puedes cambiar tu mismo el ID de la imagen que corresponda con el Id de la tabla del mail a quien estas enviando.

Es fácil, no tiene mayor misterio.
  #12 (permalink)  
Antiguo 27/06/2012, 14:37
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Crear script que registre quien esta viendo la imagen(capture correo)

aver e imaginado un supuesto...espero que me ayuden..

el correo se lo enviare a una sola persona....por lo tanto tendre el destinatario..que sera por defecto esa persona.....imagines esta cuenta [email protected]

entonces ese correo se envia como parametro del html1 al script php, que tendra como mision devolver la imagen y guardar el email en la base de datos........ que tal...ese es mi supuesto =)
  #13 (permalink)  
Antiguo 27/06/2012, 20:41
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Crear script que registre quien esta viendo la imagen(capture correo)

Creo que entre Txete y yo te hemos dado TODO para hacerlo funcionar perfectamente. ¿Por qué seguís explicando lo que necesitás? Hacelo como te hemos indicado, va a funcionar suponiendo que contás con un servidor con Apache y PHP con las librerías necesarias para generar las imágenes.
__________________
nahueljose.com.ar

Etiquetas: html, usuarios
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 05:48.