Ejecutar script javascript en un mail ?

Iniciado por Diabliyo, 27 Diciembre 2009, 07:08 AM

0 Miembros y 1 Visitante están viendo este tema.

Diabliyo

Hola:

Tengo un sistema de envio de correos (mailing) que he programado, tengo la necesidad de monitorear mis mails, de forma que quiero detectar los despliegues que ha tenido un mail (apertura del mail) y clicks que reciva dicho mail.

Por ejemplo: envio un mail que tiene una IMAGEN en el contenido del mail, dicha imagen tambien posee un linka <a> hacia una web, si al usuario le interesa saber mas de lo que dice la imagen, pues de click sobre la imagen.

MI IDEA para monitorear (contar) las veces que un mail se abre/despliega y alguien da click, es que dentro del cuerpo del mail se incruste un script javascript, en donde dicho javascript envia una variable hacia una archivo PHP que tengo en mi servidor, dicha variable contiene un NUMERO, dicho numero oviamente esta registrado en mi Base de Datos, asi que, cuando el archivo PHP recive el ID, lo comprueba y si existe entonces toma en cuenta que se esta desplegando el mail, asi que actualizo mi base de datos indicando un incremento para saber que el mail fue desplegado.

Ya hice mis primeras pruebas enviando un mail a mi propio correo, y todo se envia bien, es mas, cuando veo el codigo HTML del correo, puedo ver que el script javascript esta hay... Pero en mi Base de Datos no se observa incremento :S....

Sera que el sistema de correo no permite la ejecucion del script javascrip ???....

Alguna idea ??

NOTA: si accedo directamente al archivo PHP indicandole "manualmente" el ID del mail, este realiza la actualizacion en la base de datos, pero no se produce esto cuando un mail se despliega en el correo :(.

bye

braulio--

#1
Es bastante posible que no permita la ejecución de ‭‬‭‬javascript ya que eso sería un fallo de seguridad bastante grande.
Lo que si puedes hacer, es mandar en cada mensaje un tag img dirigido a un script php tuyo, que lo que hace es cargar una imagen y además guardar el número secreto es que podrias pasar por GET a la imágen, y ya el script haría lo que tuviera que hacer con ese número.
Aquí hay un script que carga una imagen
Ejemplo para llamar a este script/imagen :

<img src='http://mihost.com/imagen.php?cod=<codigosecreto>'>

Y eso mandaría una petición http a tu archivo por lo que el php se ejecutaría.
Suerte

Diabliyo

Cita de: braulio23 en 27 Diciembre 2009, 12:28 PM
Es bastante posible que no permita la ejecución de ‭‬‭‬‭‬javascript ya que eso sería un fallo de seguridad bastante grande.
Lo que si puedes hacer, es mandar en cada mensaje un tag img dirigido a un script php tuyo, que lo que hace es cargar una imagen y además guardar el número secreto es que podrias pasar por GET a la imágen, y ya el script haría lo que tuviera que hacer con ese número.
Aquí hay un script que carga una imagen
Ejemplo para llamar a este script/imagen :

<img src='http://mihost.com/imagen.php?cod=<codigosecreto>'>

Y eso mandaría una petición http a tu archivo por lo que el php se ejecutaría.
Suerte

Hola:

Muchas gracias por contestar y tu tiempo....

Muy bien, entiendo :D.... Entonces seria invocar una imagen (tag) pero incrusto un PHP para que mande la peticion y se incremente el contador para determinar el numero de despliegues/vistas que ha tenido el correo.

Esto hace me da otra idea :D.... Ya que, la finalidad de mi Script en javascript lo que hacia era, aparte de incrementar un valor de la BDD, tambien mostraba un letrero mas o menos asi: "Este mensaje ha sido visto X veces y clickeado X veces.", asi que, con la finalidad de poder mostrar el cartel ya mencionado, podria aun asi mostrarlo escribiendo una imagen con texto, no ?

Podrias orientarme un poco sobre donde puedo investigar un poco sobre escribir imagenes en PHP ?, ya que es un tema que no he tenido tiempo de experimentar :S.

bye

Diabliyo

Hola:

Listo, ya quedo perfecto :D...

Aqui dejo mi script de creacion de la imagen...

El scrtip crea una imagen de 480x33 con un borde negro, fondo blanco y texto negro.

Código (php) [Seleccionar]
<?php
//creando imagen, mostrando y eliminando
$msg"aqui el mensaje a escribir :D";
$width="480"//ancho
$height="33"//alto
$x="20"//posicion X
$y="20"//posicion Y
header("Content-type: image/jpeg"); //cabecera de imagen JPG
if( $imgimagecreate($width$height) ) //creando imagen
{
$blancoimagecolorallocate($img255255255); //color de fondo blanco
$negroimagecolorallocate($img000); //color de fondo negro
$font"font/mifuente.ttf";
imagefill$img00$blanco ); //pintamos de blanco
imagerectangle($img00, ($width-1), ($height-1), $negro ); //pintamos rectangulo negro
//imagestring( $img, 2, $x, $y, $msg, $negro ); //escribirmos texto
imagettftext$img120$x$y$negro$font$msg );
imagejpeg($img); //mostramos imagen
imagedestroy($img); //eliminamos imagen
unset($blanco);
unset($negro);
unset($font);
unset($img);
}
else echo 'No se pudo crear la imagen :(';

unset($height);
unset($width);
unset($x);
unset($y);
unset($msg);
?>