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!