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...