Foros del Web » Programando para Internet » PHP »

Saber quien ve la imagen de un email

Estas en el tema de Saber quien ve la imagen de un email en el foro de PHP en Foros del Web. Que tal amigos soy yo denuevo..... la verdad es que de apoco e avanzado en esto... saber quien vio la imagen de un correo que ...
  #1 (permalink)  
Antiguo 28/06/2012, 14:51
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 13 años, 5 meses
Puntos: 3
Saber quien ve la imagen de un email

Que tal amigos soy yo denuevo.....

la verdad es que de apoco e avanzado en esto...

saber quien vio la imagen de un correo que envio a una listra predeterminada de usuarios, envio un email con contenido html ....dentro de ese contenido hay una imagen que un script php se encarg de traer al correo en el cuerpo html, asi se quien vio el email.-....que usuario y cuantas veces.... el email y el numero de visitas lo registro en una bd

send.php
Código PHP:
<?php
require_once("class.phpmailer.php");
require_once(
"class.smtp.php");
require_once(
"config.php");

$month      strftime ("%m"); 
$day        strftime ("%d");
$year       strftime ("%Y");

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth true;
$mail->Host "smtp.xxxxx.com";//host
$mail->Port xx;//puerto
$mail->Username "[email protected]";//usuario
$mail->Password "xxxxx";//pass


$mail->From "[email protected]";//remitente
$mail->FromName "Rodrigo ";
$mail->Subject "mensaje en el subject";//subject

$mail->AltBody "nuevo mail \n.";

ob_start();
include 
'template.php';
$content ob_get_contents();
ob_end_clean();

unlink("template.html");

file_put_contents("dir/dir".$day."-".$month."-".$year.".html"$content);
symlink("dir/dir".$day."-".$month."-".$year.".html""template.html");

$mail->MsgHTML($content);
$mail->AddAddress("[email protected]""Destinatario");//destinatario
$mail->IsHTML(true);


if(!
$mail->Send()) {
  echo 
"Error de envio: " $mail->ErrorInfo;
} else {
  echo 
"Mensaje enviado correctamente a destinatario!";
}
?>

si se fijan destinatario es un solo correo en particular

template.php
Código PHP:
<tr>
                <
td height="10" style="padding-left: 8px; padding-bottom: 1px;"><img src=" dominio.cl/[email protected]alt="" width="550" height="126" />"  </td>
                </tr> 
y el escript que devuelve la imagen y guarda el email

script.php

Código PHP:
$email=$_GET["email"];

//verificamos control de ingreso de la cuenta de email
$checkemail mysql_query("SELECT email,visitas FROM email WHERE email='$email'");
$email_exist mysql_num_rows($checkemail);
    
    if(
$email_exist>0)
    {
    
$query "UPDATE email SET visitas= (visitas + 1 ) WHERE email='$email'"
    
mysql_query($query) or die(mysql_error());
        
    }
    else
    {
    
$visitas=1;    
    
$query "INSERT INTO email(email,visitas) VALUES ('$email','$visitas')";
     
mysql_query($query) or die(mysql_error());
    }    
//imagen a mostrar Banner     
header("Location: /images/banner.jpg"); 



todo eso lo realiza correctamente ....claro con los datos adecuados segun cada caso.


pero mi drama es.....si quiero enviar a mas de un correo....a una alistra predeterminada....como se haria en ese caso....... por ejmplo enviar a 3 mail conocidos....y saber cuando cada uno de ellos ve el correo con la imagen.


Gracias!
  #2 (permalink)  
Antiguo 28/06/2012, 15:00
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Saber quien ve la imagen de un email

ya no podrías, porque si es una lista todos los request llegarán iguales, además si un usuario lo abre varias veces se enviará el mismo dato, lo maximo que puedes hacer es comparar las cabeceras del request (ip inclusive) para determinar si es duplicado o no, pero si todos los usuarios de la lista están por detrás de un proxy los headers serán idénticos
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 28/06/2012, 15:04
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Saber quien ve la imagen de un email

mmm y de la siguiente manera??

Código PHP:
Ver original
  1. while ($row = mysql_fetch_array($result)) {
  2.     // HTML body
  3.     $body = "Hola <strong>".$row["nombres"]."</strong>, ";
  4.     $body.= "<p>Les comunicamos el nuevo servicio... <p>";
  5.     $body.= "<em>List manager</em>";
  6.     // Text body
  7.     $text = "Hola ".$row["nombres"].", \n\n";
  8.     $text.= "Les comunicamos el nuevo servicio...\n\n";
  9.     $text.= "List manager";
  10.     // Configurar Email
  11.     $mail->Body = $body;
  12.     $mail->AltBody = $text;
  13.     $mail->AddAddress($row["email"], $row["nombres"]);
  14.     // Enviar el email
  15.     if(!$mail->Send()) {
  16.         echo "Error al enviar a: " . $row["email"] . "<br>";
  17.     }
  18.     $mail->ClearAddresses();


asi en el script...recibire en el get-....y captura el mail de quien abre y ve la imagen...
  #4 (permalink)  
Antiguo 28/06/2012, 15:05
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Saber quien ve la imagen de un email

NO es exactamente asi...pero para enviar...osea send.php-----claro tendria que tener o mejor dicho extraer estos mail de la base de datos =) que me dices....lo intento ?
  #5 (permalink)  
Antiguo 28/06/2012, 15:11
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Saber quien ve la imagen de un email

aaa pero en el template.php como coloco el listado de email? br br =(
  #6 (permalink)  
Antiguo 28/06/2012, 15:21
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Saber quien ve la imagen de un email

creo que no me entendiste, una lista de correo es un sistema que envía mails en lote con una dirección fija, en cambio si tienes un listado de correos individuales no tendrás ése problema
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: email, html, mysql, registro, sql, 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 07:24.