Foros del Web » Programando para Internet » PHP »

Problema con mailtraq al enviar varios mail a través de un bucle while

Estas en el tema de Problema con mailtraq al enviar varios mail a través de un bucle while en el foro de PHP en Foros del Web. Hola amigos del foro. Estoy utilizando el servidor MAILTRAQ para enviar mail a los usuarios del sitio. El cuerpo del mail es un archivo php ...
  #1 (permalink)  
Antiguo 08/08/2005, 22:18
 
Fecha de Ingreso: abril-2004
Mensajes: 56
Antigüedad: 20 años
Puntos: 0
Problema con mailtraq al enviar varios mail a través de un bucle while

Hola amigos del foro.
Estoy utilizando el servidor MAILTRAQ para enviar mail a los usuarios del sitio.
El cuerpo del mail es un archivo php que carga los datos dinamicamente con los datos de cada usuario. el problema es que hago un while para obtener los datos de cada uno de los destinatarios del mail para obtener su nombre, direccion de email, etc. y dentro del bucle escribo el código para que envie el mail a c/u de los usuarios.

tengo el siguiente problema:

- El primer mail que envia el bucle lo envia bien, osea incluye dentro del cuerpo del mail el archivo dinamico php (el cual se llama /mail_forms/mail_vta_ter.php), los siguientes mail que envia a cada uno de los usuarios restantes no manda el cuerpo del mensaje por lo tanto el mensaje que le llega a los usuarios llega vacio y pesando 1KB, ¿que puede ser?

-Cabe destacar que este código me funciona bien para enviar 1 mail a un destinatario, el problema se produce cuando lo envio a varios destinatarios en un bucle, como dije el primer usuario del bucle recibe bien el mail, pero a todos los siguientes no les llega el cuerpo del mensaje que se carga de un archivo php.


adjunto el codigo:

<?php
//AQUI OBTENGO LOS DATOS DE LOS DESTINATARIOS
mysql_select_db($database_sitio_conn, $sitio_conn);
$query_usrmail = "SELECT * FROM tb_usuario";
$usrmail = mysql_query($query_usrmail, $sitio_conn) or die(mysql_error());
$row_usrmail = mysql_fetch_assoc($usrmail);

do { //AQUI EMPIEZA EL BUCLE QUE OBTIENE LOS DATOS DE CADA UNO DE LOS USUARIOS ANTES DE ENVIAR EL MAIL
$id =1123222415 ;
$c_t = "Cumplimiento de la fecha de término";
ob_start();
require_once('mail_forms/mail_vta_ter.php'); //AQUI ESTA EL ARCHIVO QUE ES EL CUERPO DEL MAIL $body = ob_get_contents();
ob_end_clean();

require_once("includes/phpmailer/class.phpmailer.php");

$mail = new PHPMailer();
$mail->IsSMTP();

$mail->Host = $var_mai_host;
$mail->Port = $var_mai_port;
$mail->Helo = $_SERVER['HTTP_HOST'];
$mail->SMTPAuth = $var_mai_auth;
$mail->Username = $var_mai_usro;
$mail->Password = $var_mai_pass;

$mail->IsHTML(true);
$mail->CharSet = "iso-8859-1";
$mail->Priority = 1;

//DE
$mail->From = "[email protected]";
$mail->FromName = "misitio.cl";
//PARA
$mail->AddAddress($row_usrmail['mail'], $row_usrmail['username']);
$mail->Subject = "A finalizado la venta de tu producto";
$mail->Body = $body;

$mail->Send();
// Clear all addresses and attachments for next loop.
$mail->ClearAddresses();
$mail->ClearAttachments();

} while ($row_usrmail = mysql_fetch_assoc($usrmail)); //AQUI FINALIZA EL BUCLE
?>
__________________
Si el mundo es redondo ¿por que le pusieron planeta?
Entonces si hubiese sido plano le hubisen puesto "redondeta"

Última edición por huayayo; 08/08/2005 a las 22:32
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:26.