
05/10/2008, 19:59
|
 | | | Fecha de Ingreso: enero-2007 Ubicación: Caracas, Venezuela
Mensajes: 277
Antigüedad: 18 años, 2 meses Puntos: 3 | |
Respuesta: Modificar codigo para lista de correo simple Cita:
Iniciado por yrduk Se me ocurre que podrías usar límites en al consulta, como si fuera una paginación.
Algo así: 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 = "List Manager";
$mail->Subject = "Nuevo Servicio";
$registros = 10; // enviará 10 emails por cada recarga. Modifícalo a tu gusto :P
$_GET[pagina] = $_GET[pagina];
if (!$_GET[pagina]) {
$inicio = 0;
$pagina = 1;
}
else {
$inicio = ($_GET[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 >= $_GET[pagina]) {
?>
<script type="text/javascript">location.href('');</script>
<?php
}
else
{
echo "<h1>Boletín enviado!</h1>";
}
?>
No estoy 100% seguro de que sirva, ya que no he probado.
Pruébalo tu, y cuéntanos si funcionó  |