Comunidad de diseño web y desarrollo en internet online

Bucle para envio de email

Citar            
MensajeEscrito el 16 Dic 2012 03:43 am
Hola buenas,

Estoy preparando un codigo para ejecutarlo como tarea programada y que envie 10 emails a la hora ( por probar), el bucle lo que hace es cargar los datos extaridos de la base de datos, enviar el email y marcar en la tabla de la base de datos como enviado.

Código PHP :

$i=0
while($user1=mysql_fetch_array($query_user1)){

   $consulta_estado = "UPDATE hoja1 SET enviado = true WHERE email = '".$user1["email"]."'";
   $query_estado = mysql_query($consulta_estado, $conectar); 
   
   $mail = new PHPMailer();
   $mail->IsHTML(true); 
   $mail->IsSMTP();
   $mail->SMTPAuth = true; // True para que verifique autentificación de la cuenta o de lo contrario False
   $mail->Username = "[email protected]"; // Cuenta de e-mail
   $mail->Password = "pass"; // Password


   $mail->Host = "smtp.email.com";
   $mail->From = "[email protected]";
   $mail->FromName = "Prueba";
   $mail->Subject = "Asunto_prueba";

   $mail->WordWrap = 50;

   $mail->AddAddress ($user1["email"],$user1["nombre"]." ".$user1["apellidos"]);
   
   echo $user1["email"]."<br>";
   
   $body = $file;
   
   $mail->Body = $body;
   
   

   $mail->Send();
   
   if($i==10){
      exit();
   } 
   
   $i++;
}
echo $i;
?>


Casi todo lo hace bien pero hay un problema, siempre deja 1 registro sin marcar como enviado en la base de datos.

Otra cosa, ¿Se podría optimizar el bucle?, es decir sacar parámetros del phpmailer.

Un Saludo.

Por SaDoK

2 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Dic 2012 12:17 pm
Declara el new mail arriba del bucle y dentro de el, solo asigna los destinatarios con copia oculta.

Saludos!

Por SinSemilla

Claber

336 de clabLevel



Genero:Masculino  

i am that i am...

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.