Foros del Web » Programando para Internet » PHP »

Que me avisen cuando leen el mail...

Estas en el tema de Que me avisen cuando leen el mail... en el foro de PHP en Foros del Web. Hola gente, tengo un problema... Quiero hacer un archivo php, que me avise cuando alguien lee un mail... Osea, el mail que mando es html, ...
  #1 (permalink)  
Antiguo 30/08/2003, 12:59
 
Fecha de Ingreso: agosto-2003
Mensajes: 11
Antigüedad: 14 años, 3 meses
Puntos: 0
Que me avisen cuando leen el mail...

Hola gente, tengo un problema...

Quiero hacer un archivo php, que me avise cuando alguien lee un mail...

Osea, el mail que mando es html, y tiene un codigo, que en el evento Onload, se comunica con un

php que tengo colgado en un sitio, y este se encarga de avisarme que el mail fue abierto..
El problema es el siguiente, yo no quiero que se abra la pagina php, para esto, uso una pagina de

marcos, con un marco invisible, y cuando el form se envia, lo hace al target de el marco

oculto... anda todo sin problemas, pero despues de esto, se abre la pagina con el php, en

pantalla completa, osea, desde donde estan leyendo el mail.... En resumen, con el php se comunica

DOS veces, la primera, es la que me sirve, la segunda no.

Se entendio? Alguna idea?
Muchas gracias! karon.

A los modereadores: No se si es un problema del html, o el php, asi que por favor, dejen el

mensaje en este foro. gracias.
  #2 (permalink)  
Antiguo 30/08/2003, 14:50
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 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.
  #3 (permalink)  
Antiguo 30/08/2003, 19:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Lo "típico" es "Solventar" este problema como menciana josemi con la técnica de la "imagen camuflada" .. Tdo esto simplemente para hacer la llamada al servidor (donde estará tu scritp .php esperando para hacer el proceso de "avisarte" .. llevar estadísticas de donde viene "HTTP_REFERER" por ejemplo .. y cosas así).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 30/08/2003, 21:18
 
Fecha de Ingreso: agosto-2003
Mensajes: 11
Antigüedad: 14 años, 3 meses
Puntos: 0
Antes que nada, GRACIAS!!!

El problema ahora, es que el php, no procesa la informacion, osea, no lee los datos...

La cosa es asi.. yo tengo en el html, las lineas que me dijiste que ponga, y ademas, campos ocultos... del s1, al s7.. todas estas variables, necesito que el php, las lea y procese.. y de la forma que me dices, el php se ejecuta, pero no me procesa los campos ocultos, o variables...

Probe poner la imagen, dentreo de el form, y por fuera y de ninguna de las dos formas los lee... para mi, es como que falta un POST en alguna parte.. pero no me doy cuenta como..

Cual puede ser el problema?
De nuevo, gracias
karon.

Pd. El HTTP_REFERER no me sirve para este caso
  #5 (permalink)  
Antiguo 30/08/2003, 21:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Yo no entedí nada .. si pones el código que usas tal vez veamos algo.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 31/08/2003, 13:10
 
Fecha de Ingreso: agosto-2003
Mensajes: 11
Antigüedad: 14 años, 3 meses
Puntos: 0
Este es el codigo:

El archivo html, que iria en los mensajes que envio:

Código:
<html>

<head>
<title>Contact Page</title>
<base target="_self">
<style fprolloverstyle>A:hover {color: #E1E1E1; font-family: Arial; font-size: 8pt}
</style>
</head>

<body topmargin="0" leftmargin="0" bgcolor="#FFFFFF" link="#333333" vlink="#333333"
alink="#E1E1E1" text="#666666"

>
<form method="POST" target="pie" action="http://usuarios.lycos.es/karon/maili2.php"
name="abc">
  <input type="hidden" name="s1" value="[email protected]">
  <p><font face="Arial" style="font-size: 8pt">&nbsp;&nbsp; <br>
    <img src="http://usuarios.lycos.es/karon/maili2.php" width="15" height="15" name="a1"> 
    </font></p>
</form>
<div align="left">

<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse"
bordercolor="#111111" width="100%" id="AutoNumber2">
  <tr>
    <td width="100%" style="border-top: 1px solid #C0C0C0; padding: 4"></td>
  </tr>
</table>
  
</div>
</body>
</html>
y el codigo PHP:

Código PHP:
<html>
<base target="_self">
<body bgcolor="FFFFFF" text="#444444">
<?
header
("Pragma: no-cache");
header("Content-type: image/gif");
readfile("imagen_email.gif");

$MailTo "[email protected]"//email to send the results to
$MailSubject "lo leyo"//text in the Subject field of the mail
$MailHeader "From: PGDNET.COM"//text in the From field of the mail
$MailSent "<center><img border=0 src=emailsent.gif width=450 height=350></center>"//confirm 

code

/* You can edit the for fields below */



if ($s1 == ""){ //name of field 1

}
else {
     
$MailBody "Name : $s1\n"//This value is inserted inthe mailbody
}
if (
$s2 == ""){

}
else {
     
$MailBody .= "Company : $s2\n";
}
if (
$s3 == ""){
}
else {
     
$MailBody .= "E-mail : $s3\n";
}
if (
$s4 == ""){

}
else {
     
$MailBody .= "Subject : $s4\n";
}
if (
$s5 == ""){

}
else {
     
$MailBody .= "Website Rating : $s5\n";
}
if (
$s6 == ""){

}
else {
     
$MailBody .= "Referral : $s6\n";
}
if (
$s7 == ""){

}
else {
     
$MailBody .= "Message : $s7\n";
}

//Routine to send message

{
mail($MailTo$MailSubject$MailBody$MailHeader);  //message send
echo("$MailSent"); //Confirmation message.
}
?>
</body>
</html>
De esta forma, el html, solo llama al php, lo ejecuta, pero este, no procesa las variables (s1)

Lo que yo necesito, es que procese, dicha variable.. s1 y que me llegue un mail a mi que diga algo asi como:

La direccion, $s1, leyo el mensaje enviado

Gracias, karon.


PD. El php, esta algo sucio, porque no lo arme yo, pero para lo que quiero hacer, sirve.

Última edición por karon; 31/08/2003 a las 13:40
  #7 (permalink)  
Antiguo 31/08/2003, 14:39
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Bueno, si son campos hidden, en lugar de usar un form, los podrias poner en la URL de la imagen. Asi en lugar de:

<form method="POST" target="pie" action="http://usuarios.lycos.es/karon/maili2.php"
name="abc">
<input type="hidden" name="s1" value="[email protected]">
<p><font face="Arial" style="font-size: 8pt"> <br>
<img src="http://usuarios.lycos.es/karon/maili2.php" width="15" height="15" name="a1">
</font></p>
</form>

pones

<p><font face="Arial" style="font-size: 8pt"> <br>
<img src="http://usuarios.lycos.es/karon/[email protected]" width="15" height="15" name="a1">
</font></p>

y asi con el resto de valores que quieras pasar al script.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 31/08/2003, 23:20
 
Fecha de Ingreso: agosto-2003
Mensajes: 11
Antigüedad: 14 años, 3 meses
Puntos: 0
Muuuuuuuuuuuchas gracias!

Funciona de maravilla... me esta gustando esto de php...

gracias de nuevo!
Saludos
karon.
  #9 (permalink)  
Antiguo 01/09/2003, 09:47
 
Fecha de Ingreso: agosto-2003
Mensajes: 11
Antigüedad: 14 años, 3 meses
Puntos: 0
Una cosa.... no entendi, para que hay que crear la imagen GIF (imagen_email.gif).. alguien me podria explicar como funciona esto?

Gracias, karon.
  #10 (permalink)  
Antiguo 01/09/2003, 14:52
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Es que el navegador espera que una imagen, ya que es el src de un tag img. Normalemente pones un gif transparente.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 02:01.