Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/11/2011, 17:52
manuel2788
 
Fecha de Ingreso: enero-2011
Mensajes: 95
Antigüedad: 13 años, 3 meses
Puntos: 2
Pregunta phpmailer y bucle for

Buenas tardes,

Estoy intentando enviar por correo electrónico una serie de registros guardados en una variable de sesión (array). Para sacarlos utilizo un bucle for para que las recorra una por una.

El problema se presenta, al leer el correo (enviado por phpmailer) solo muestra un dato del array. No todos los que contiene. Tengo la idea que el problema se debe a que el bucle for buscar el primer elemento y luego, antes de llegar a la segunda solicitud se corre primero la clase phpmailer y por ello me envía un solo elemento.

He pensado en meterle alguna condicional a $mail -> Send(); pero no sabría cual podría ser la condición. Es decir, no se que puedo comparar o que parámetro darle para que no se ejecute hasta que finalice el bucle.

código, a continuación:

Código PHP:
    require 'class.phpmailer.php';
        
        
//configuración de la clase
        
$mail = new PHPMailer();
        
$mail -> Host 'smtp.gmail.com';
        
$mail -> IsHTML (true);
        
$mail -> IsSMTP();
        
$mail -> SMTPSecure 'ssl';
        
$mail -> Port 465;
        
$mail -> SMTPAuth true;
        
$mail -> CharSet "UTF-8";
        
$mail -> Username 'XXX';
        
$mail -> Password 'XXX';
        
$mail -> Subject "Presupuesto, Estado: Procesando.";
        
$mail -> AddAddress(" "$_SESSION['email'] ." ");
        
//$mail -> AddBCC("[email protected]");
        //cuerpo del correo
        
for ($i=0$i count($_SESSION['carrito']) ; $i++) {
        
$body "
                        <html>
                        <head>
                        </head>
                        <body style='margin: 0; padding: 0; width: 100%; overflow-y: hidden; background-color: #dcded3;'>
                            <h3 style='font-size: 13px; color: #333; margin-left: 50px;'>¡Enhorabuena!<h3>
                            <p style='margin-left: 50px; style-weigth: normal; font-style: normal; font-size: 13px; color: #333;'>Tu presupuesto se ha procesado, a la brevedad posible contactaremos con usted.</p>                        
                            <p style='margin-left: 50px; font-size: 15px; font-size: 13px; color: #333;'>A continuaci&oacute;n, su pedido:</p>
                        <table>
                            <thead>
                                <tr>
                                    <td>Foto</td>
                                    <td>Nombre de Producto</td>
                                </tr>
                            </thead>
                            <tbody>
                                <tr>
                                    <td>" 
$_SESSION['carrito'][$i]['nombre']. "<td /> 
                                </tr>
                            </tbody>
                        </table>            
                        </body>
                        </html>
                        "
;                                                
        }                
        
$mail -> isHTML(true);
        
$mail -> Body $body;
        
$mail -> Send(); 
De antemano, agradezco enormemente el interés en mi post.