Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/11/2010, 20:19
RicardoUY
 
Fecha de Ingreso: septiembre-2010
Mensajes: 62
Antigüedad: 13 años, 7 meses
Puntos: 0
envio de mails con phpmailer

hola
Voy a pegar el código con el que envio un mail a todos los contactos de una lista.
El sistema envia los correos correctamente pero hay dos problemas que no he podido solucionar.
Uno de ellos es que cada usuario al que le envio ve todos los otros destinatarios del mensaje y no es lo que yo quiero que suceda.

Y el otro problema es que dentro del mail hay dos link que usan una variable que es $correoElectonico.
Simplemente esa variable no se carga pues toma el valor despues que la quiero usar dentro del mensaje del email.

Por supuesto que he intentando poner el $mensaje mas abajo en el código pero me manda errores de envio, en cambio poniendo el texto del mensaje arriba del código se envia todo perfectametne pero los links del mensaje no funcionan
Espero haber sido claro
Gracias por ayudarme
Código PHP:
session_start();
 
set_time_limit(0);
  include 
'db2.php';
   
date_default_timezone_set('America/Montevideo');
   
setlocale(LC_TIME'spanish');
   
$hora date(" H:i:s");
   echo 
$hora"<font size='3'><b> Inicio envio de Boletín </b><br>";
   
   function 
boletin() {
   include 
'db2.php';
   require 
"includes/class.phpmailer.php";
   
$hora date(" H:i:s");
   
$mail->PluginDir "includes/";
   
$mail = new PHPMailer();
   
$mail->IsSMTP();
   
$mail->SMTPAuth true;
   
$mail->SMTPSecure "ssl";
   
$mail->Host "smtp.gmail.com";
   
$mail->Port 465;
   
$mail->Mailer "smtp";
   
$mail->Username "[email protected]";
   
$mail->Password "clave";
   
//remitente
   
$mail->From "[email protected]";
   
$mail->FromName "misitio.com.uy";
   
$mail->Timeout=30;
   
$mail->Subject "Portal de... ";
   
//en AltBody se envía el mensaje en texto plano
   
$mail->AltBody "Bienvenido a misitio.uy".chr(10)."Lamentablemente su cliente de correo no permite mostrar este mensaje correctamente.".chr(10)."Para confirmar su registro y validar su dirección de correo electrónico".chr(10)."ingrese en este enlace".chr(10)."http://www.misitio.com.uy/valUsuario.php?emailUsuario='".$email."'&passwordUsuario='".$password.chr(10)."Le recomendamos que imprima esta página para conservar el enlace de verificación por si lo llega a necesitar.";
   
//mensaje en formato HTML
$mensaje=
"<html>
<body>
<head><title><b></b></center></head>"
;
$mensaje.= "<p><align='center'><font size=2 color='#999999'>Si no visualiza correctamente este mail haga click ";
$mensaje.= '<a href="http://wwwmisitio.com.uy/EmailBienv.php?email='.$correoElectronico.'">ingrese aquí</a>';
$mensaje.= "<p><font size=5 color='black'<b>misitio.com</b><br></p>";
$mensaje.= "<font size=2 color='black'>Estimado usuario/a ,<br>";
$mensaje.="quite las partes de mensaje inecesarias para resolver el problema";
$mensaje.= "<p><font size=2 color='black'>Si no desea volver a recibir más información de nuestro portal ingrese";
$mensaje.= '<a href="http://www.buscopropiedades.com.uy/desuscribirse.php?email='.$correoElectronico.'""> en éste enlace</a></p>';
$mensaje.="
</body>
</html>"
;

   
$mail->MsgHTML($mensaje);
   
$EmailsNoEnviadosmysql_query("SELECT correo FROM Contactos  WHERE enviado = 1 LIMIT 10") or die("Error :<br>MySQL dice: ".mysql_error());
   while (
$direccion mysql_fetch_array($EmailsNoEnviados)) {
   
$correoElectronico=$direccion['correo'];echo $correoElectronico."<br>";
   
$mail->AddAddress($correoElectronico,"Estimado usuario/a");
   
$sqlEnviado mysql_query("UPDATE Contactos SET enviado = 2 WHERE correo = '" $direccion['correo'] . "'") or die("Error :<br>MySQL dice: ".mysql_error());

                                                             }
   
$mail->IsHTML(true);
   
$Enviado=$mail->Send();

                       }
   
boletin();