Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/01/2012, 10:13
esaenz22
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años, 8 meses
Puntos: 7
Pregunta problema con envio masivo de email

buen dia. implemente la libreria PHPMailer en un proyecto de sistema de registro de concursantes grupal. el formulario de input text lo genero con un bucle for. yo envio 2 correos y al hacer el proceso, me muestra el siguiente error.

Invalid address: [email protected], [email protected], .You must provide at least one recipient email address.

eso se debe a que le estoy enviando 2 correos. ya que en el formulario el bucle que realizo me genera 3 input text.

Código PHP:
Ver original
  1. <?php
  2.     for($n=1;$n<=3;$n++){
  3. ?>  
  4. <tr>
  5.   <td>Email <?php echo $n; ?></td>
  6.   <td><input name="email[]" type="text" id="email" size="30" /></td>
  7. </tr>
  8. <tr>
  9.   <td height="10" colspan="2"></td>
  10. </tr>
  11. <?php
  12.     }
  13. ?>

codigo que procesa los correos.

Código PHP:
Ver original
  1. include("class.phpmailer.php");
  2.  
  3. $nombres                = $_POST['nombres'];
  4. $nombres_concursantes   = implode(", ",$nombres);
  5.  
  6. $email                  = $_POST['email'];                             
  7. $email_concursantes     = implode(", ",$email);
  8.  
  9.  
  10. //envio a los usuarios registrados.
  11. $mail             = new PHPMailer(); // defaults to using php "mail()"
  12.  
  13. $mail->SetFrom('[email protected]', 'Nombre destinatario');                         
  14.  
  15. $mail->AddAddress($email_concursantes, $nombres_concursantes);
  16. $mail->Subject    = "Confirmacion - participacion en LIMA 2012";   
  17.  
  18. $mensaje = "Hola. correo con <strong>html 5</strong>";
  19.  
  20. $mail->MsgHTML($mensaje);
  21.  
  22. // hago un if si la variable $nombres y $email no esta vacia.
  23. if((!empty($nombres)) && (isset($nombres)) && (!empty($email)) && (isset($email)))
  24. {
  25.    
  26.     if(!$mail->Send())
  27.     {
  28.       echo "Mailer Error: " . $mail->ErrorInfo;
  29.     }
  30.     else
  31.     {
  32.       echo "Tu mensaje se envio a los siguientes correos: ".$email_concursantes."";
  33.     }
  34.    
  35. }

ademas, al imprimir los 2 correos que le estoy enviando, al final hay una coma.

[email protected], [email protected],

mi pregunta es, como haria para que solo cuente los correos que estoy enviando. ya sea 1 ó 2.

saludos.

Última edición por esaenz22; 17/01/2012 a las 10:18 Razón: correcion del texto.