Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/06/2009, 08:26
GermanGaita
 
Fecha de Ingreso: abril-2009
Mensajes: 53
Antigüedad: 15 años, 10 meses
Puntos: 1
Información Respuesta: Como puedo combinar estos dos scripts

Claro esta bien, lo que pasa es que ahora hay que ir agregando una por una las direcciones, digamos para cada direccion tenes q hacer
$mail->AddAddress("[email protected]");

fijate que vos recuperas toda la lista de esta manera:
$sql = "SELECT * FROM users";
$resultado = mysql_query($sql);

ahora en $resultado tenes los registros insertados en la tabla users, lo que podes hacer es recorrer la tabla uno por uno e ir agregando los mails con AddAdress.
Seria algo asi, supongamos que en la tabla "users" el campo donde almacenamos el email se llama "email"

while ($reg=mysql_fetch_array($resultado))
{
$nuevomail = $reg['email'];
$mail->AddAddress($nuevomail);
}

En fin quedaria algo asi:
Código PHP:
<?php

$conexion 
mysql_connect("host","usu","pss");

if (!
$conexion) {
echo 
"No pudo conectarse a la BD: " mysql_error();
exit;
}

if (!
mysql_select_db("base de datos",$conexion)) {
echo 
"No ha sido posible seleccionar la BD: " mysql_error();
exit;
}

$sql "SELECT * FROM users";

$resultado mysql_query($sql);

if (!
$resultado) {
echo 
"No pudo ejecutarse satisfactoriamente la consulta ($sql) " .
"en la BD: " mysql_error();
exit;
}

if (
mysql_num_rows($resultado) == 0) {
echo 
"No se han encontrado filas, nada a imprimir, asi que voy " .
"a detenerme.";
exit;
}

  require 
"includes/class.phpmailer.php";

  
$mail = new phpmailer();

  
$mail->PluginDir "includes/";

  
$mail->Mailer "smtp";

  
$mail->Host "smtp.xxxx.xxx";

  
$mail->SMTPAuth true;

  
$mail->Username "xxxx xxxx"
  
$mail->Password "xxxxx";

  
$mail->From "xxxxxx xxxxxx";
  
$mail->FromName "Eduardo Garcia";


  
$mail->Timeout=30;

  
//$mail->AddAddress("xxxxx xxxxxx");//ESTO ERA ANTES!

  //INSERTAMOS ESTO

  
while ($reg=mysql_fetch_array($resultado))
  {
       
$nuevomail $reg['email'];
       
$mail->AddAddress($nuevomail);
  }

  
//FIN DE LO INSERTADO

  
$mail->Subject "Prueba de phpmailer";
  
$mail->Body "<b>Mensaje de prueba mandado con phpmailer en formato html</b>";

  
$mail->AltBody "Mensaje de prueba mandado con phpmailer en formato solo texto";

  
$exito $mail->Send();

  
$intentos=1
  while ((!
$exito) && ($intentos 5)) {
    
sleep(5);
         
$exito $mail->Send();
         
$intentos=$intentos+1;    
    
   }
 
        
   if(!
$exito)
   {
    echo 
"Problemas enviando correo electrónico a ".$valor;
    echo 
"<br>".$mail->ErrorInfo;    
   }
   else
   {
    echo 
"Mensaje enviado correctamente";
     } 
?>
Creo no haberme olvidado nada, fijate si funciona. Acordate de verificar si el campo de tu tabla users donde almacenas el mail se llama "email" sino cambialo.
Saludos!