El siguiente codigo arma una tabla desde sql server con datos de cta cte de clientes, el fin de este codigo es que se envie por mail a cada cliente su listado de cta cte.
Si al codigo le saco todo lo que es envio de mail, y lo miro por pantalla, los datos salen todos ok.
Si le agrego el codigo para enviar al mail y armo el $body.="..." con $mail->Body=$body;... por mail no me llegan los datos de la consulta solo el encabezado de la tabla...
Dejo mi codigo para ver si alguien podria ayudarme...
Código:
Aclaro que el mail se envia OK, el problema es que en el cuerpo del mail me llega solo el ancabezado de la tabla y no los datos...<?php
require_once('C:\AppServ\www\envioMail\class.phpmailer.php');
try {
$link=mssql_connect("xxxxxx","test","test");
mssql_select_db("xxxxxx",$link);
$cod=1;
for ($cod=3;$cod<=3;$cod++) {
$resultado=mssql_query("SELECT cta_cte_clientes.codigo_cliente, clientes.nombre, clientes.correo_electronico, cta_cte_clientes.tipo_comp, cta_cte_clientes.nro_comp, cta_cte_clientes.fecha_emision, cta_cte_clientes.debe, cta_cte_clientes.haber, cta_cte_clientes.saldo FROM cta_cte_clientes INNER JOIN clientes ON cta_cte_clientes.codigo_cliente=clientes.codigo_cliente WHERE clientes.codigo_cliente='".$cod."' AND ((cta_cte_clientes.saldo)<>0) AND ((clientes.monto_credito)>0) ORDER BY cta_cte_clientes.codigo_cliente,cta_cte_clientes.fecha_emision;",$link);
// Mail Datos
$mail=new PHPMailer();
$mail->Mailer="smtp";
$mail->SMTPAuth=true;
$mail->Host="xxxxxxx.com.ar";
$mail->Port=25;
$mail->Username="xxxxxxxx";
$mail->Password="xxxxxxxx";
$mail->From="xxxxxxxxxx";
$mail->FromName="xxxxxxxxxx";
$mail->Timeout=60;
$mail->IsHTML(true);
$mail->AddAddress('xxxxxxxxxxxxxxxx');
$mail->Subject='Prueba de mails';
// Armado Bucle CtaCte
$body.="
<html>
<head>
</head>
<body>
<table border='1'>
<tr>
<td>IdCliente</td><td>Nombre</td><td>Tipo</td><td>Nro.Comprobante</td><td>Fecha</td><td align='right'>Debe</td><td align='right'>Haber</td><td align='right'>Saldo</td>
</tr>
<?php if(!$resultado) {
}
else {
while($row=mssql_fetch_row($resultado)) {?>
<tr>
<td><?php echo $row[0];?></td><td><?php echo $row[1];?></td><td><?php echo $row[3];?></td><td><?php echo $row[4];?></td><td><?php echo $row[5];?></td><td align='right'><?php echo $row[6];?></td><td align='right'><?php echo $row[7];?></td><td align='right'><?php echo $row[8];?></td>
</tr>
<?php
$cliente=$row[1];
}
} ?>
</table>
</body>
</html>
";
$mail->Body=$body;
// Envio Mail
$exito = $mail->Send();
if(!$exito) {
echo "Problemas enviando correo electrónico";
echo "<br>".$mail->ErrorInfo;
echo " ";
}
else {
echo "Mensaje enviado correctamente";
echo " ";
}
}
}
catch (Exception $e)
{
echo "Caught Exception ('{$e->getMessage()}')\n{$e}\n";
}
mssql_close($link);
?>
Lo mas raro es que por pantalla se ve bien.. asi que el error debe estar en como armo el cuerpo para enviar por mail...


