Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/08/2005, 22:18
huayayo
 
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