hola
Hace un buen rato estoy intentando solucionar un error en mi codigo y no lo encuentro.
Ante todo aclaro que descarte incluir el mensaje en formato html pues eso funciona perfectamente.
Este codigo funciona correctamente y me imprime en pantalla todos los emails que estan en la tabla correspondient.e haciendo los bucles tal como quiero que los haga.
Pero yo en realidad lo que quiero es que cada ciclo envie un correo con phpmailer
El codigo que uso para envio con phpmailer funciona perfectamente
Mas abajo pego el codigo con el agregado del envio de los mails
pero lo que sucede que envia uno y deja de enviar porque no le llega a phpmailer la direccion de correo
Gracias por ayudar,e a encontrar que estoy haciendo mal
Código PHP:
function boletin() {
$hora = date(" H:i:s");
include 'db2.php';
$EmailsNoEnviados= mysql_query("SELECT correo FROM Contactos WHERE enviado = 1 LIMIT 2");
echo "<font size='3'><b>Restan emails pendientes para ser enviados </b><br>";
$bucle=0;
while ($direccion = mysql_fetch_assoc($EmailsNoEnviados)) {
$bucle=$bucle +1; echo "bucle ".$bucle."<BR>";
echo "Contacto de la tabla ".$direccion['correo']."<br>";
$sqlEnviado = mysql_query("UPDATE Contactos SET enviado = 2 WHERE correo = '" . $direccion['correo'] . "'");
}
//Revisa si quedan emails por enviar
$EmailsNoEnviados = mysql_query("SELECT correo FROM Contactos WHERE enviado = 1 LIMIT 2");
if (mysql_num_rows($EmailsNoEnviados)<>0) {
echo $hora."<font size='3'><b> Inicio de espera </b><br>";
sleep(10); boletin();
}
if (mysql_num_rows($EmailsNoEnviados)==0) { echo $hora."<font size='3'><b> Envio del boletín finalizado completamente</b>";}
}
boletin();
Código PHP:
function boletin() {
$hora = date(" H:i:s");
include 'db2.php';
$EmailsNoEnviados= mysql_query("SELECT correo FROM Contactos WHERE enviado = 1 LIMIT 2");
echo "<font size='3'><b>Restan emails pendientes para ser enviados </b><br>";
$bucle=0;
while ($direccion = mysql_fetch_assoc($EmailsNoEnviados)) {
$bucle=$bucle +1; echo "bucle ".$bucle."<BR>";
//codigo para el envio de los mails
require "includes/class.phpmailer.php";
$mail->PluginDir = "includes/";
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->Mailer = "smtp";
$mail->Username = "[email protected]";
$mail->Password = "clave";
//remitente
$mail->From = "[email protected]";
$mail->FromName = "misitio.com";
$mail->Timeout=30;
$mail->Subject = "Portal de ";
//en AltBody se envía el mensaje en texto plano
$mail->AltBody = "mensaje en texto plano";
$mensaje="mensaje en formato html";
$mail->MsgHTML($mensaje);
$mail->AddAddress($direccion['correo'],"Estimado usuario/a");
$mail->IsHTML(true);
//la variable $exito tendra el valor true si se envia el mensaje
$exito = $mail->Send();
echo "Enviado ".$direccion['correo']."<br>";
$sqlEnviado = mysql_query("UPDATE Contactos SET enviado = 2 WHERE correo = '" . $direccion['correo'] . "'");
}
//Revisa si quedan emails por enviar
$EmailsNoEnviados = mysql_query("SELECT correo FROM Contactos WHERE enviado = 1 LIMIT 2");
if (mysql_num_rows($EmailsNoEnviados)<>0) {
echo $hora."<font size='3'><b> Inicio de espera </b><br>";
sleep(10); boletin();
}
if (mysql_num_rows($EmailsNoEnviados)==0) { echo $hora."<font size='3'><b> Envio del boletín finalizado completamente</b>";}
}
boletin();
Simplemente agrego el codigo para el envio del mail y deje de funcionar correctamente y creo que no altero ningun proceso
Grac ias por ayudarme