Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/08/2003, 13:50
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Mas bien sera problema del "navegador" que abre el email.

Existe una forma mas "limpia" de ejecutar un script cuando se abra el email. Simplemente pon el script como src de un img. Lo pones en un lugar poco visible, y el script PHP, ademas de avisarte, debe mostrar una imagen (puede ser transparente). En el script PHP ademas debes añadir las cabeceras HTTP para que la imagen no sea cacheada.

Por ejemplo, pondriamos en el email:

<img src="http://dominio.com/avisa_email.php" width="1" height="1">

o con el alto y ancho que prefieras. Luego en avisa_email.php:
Código PHP:
<?php
// primero enviamos las cabeceras para que la imagen no sea cacheada por los proxies y navagadores.
// con esto logramos que se ejecute el script cada vez que se abra el email
header("Pragma: no-cache");
// hay otros, pero ahora no los tengo a  mano

// aqui va tu codigo avisar
// ...

// y para finalizar, mostramos la imagen
// primero, tenemos que especificar el tipo MIME de la imagen
header("Content-type: image/gif");
// y luego mostramos la imagen, que sera un fichero
// que puede ser perfectamente un gif transparente
readfile("imagen_email.gif");
?>
Es un ejemplo. Me faltan varias cabeceras.

Si usas un programa que te permite personalizar cada email, como los programas de envio masivo o algun tipo de soft para neswsletter, podrias hacer que la URL de la imagen se personalizase, por ejemplo poniendo un id de mensaje. Asi podrias tener en tu HTML algo asi:

<img src="http://dominio.com/avisa_email.php?id=234" width="1" height="1">

y asi podrias saber exactamente que mensaje se abrio.

Por supuesto, solo funciona si se abre el email estando conectado a internet.

Saludos.

PD: Ya se que no es la respuesta a lo que preguntabas, sino simplemente otro metodo. Si realmente era necesario lo del onload, no se como ayudar.
__________________
Josemi

Aprendiz de mucho, maestro de poco.