Amigo yrduk gracias por tu ayuda, al probar el codigo que me facilitaste encontre que tenia un pequeño problema, enviaba 2 veces el email a los primeros "n" correos con n=$registros, me explico, si definimos $registros = 10; como en el ejemplo entonces el mensaje les llega 2 veces a los primeros 10 clientes, realice unas pruebas y con algunos cambios ahora funciona al 100%.
Les dejo el codigo funcionando si es que le sirve a alguien.
Código PHP:
<?php
//Conexion a la base de datos
include("config.php");
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->Host = "smtp.1and1.com";
$mail->From = "[email protected]";
$mail->FromName = "Lista de Correo";
$mail->Subject = "Nuevo Servicio...";
$registros = 10;
$pagina = $_GET[pagina];
if (!$_GET[pagina]) {
$inicio = 0;
$pagina = 1;
}
else {
$inicio = ($pagina - 1) * $registros;
}
$result_ = mysql_query("SELECT nombres, email FROM clientes");
$total_registros = mysql_num_rows($result_);
$total_paginas = ceil($total_registros / $registros);
$result = mysql_query("SELECT nombres, email FROM clientes LIMIT $inicio, $registros");
while ($row = mysql_fetch_array($result)) {
// HTML body
$body = "Hola <strong>".$row["nombres"]."</strong>, ";
$body.= "<p>Les comunicamos el nuevo servicio... <p>";
$body.= "<em>List manager</em>";
// Text body
$text = "Hola ".$row["nombres"].", \n\n";
$text.= "Les comunicamos el nuevo servicio...\n\n";
$text.= "List manager";
// Configurar Email
$mail->Body = $body;
$mail->AltBody = $text;
$mail->AddAddress($row["email"], $row["nombres"]);
// Enviar el email
if(!$mail->Send()) {
echo "Error al enviar a: " . $row["email"] . "<br>";
}
$mail->ClearAddresses();
}
?>
<?php
if($total_paginas >= $pagina) {
?>
<script type="text/javascript">location.href('lista.php?pagina=<?php echo $pagina+1; ?>');</script>
<?php
}
else
{
echo "<h1>Boletín enviado!</h1>";
}
?>