Ver Mensaje Individual
  #11 (permalink)  
Antiguo 08/05/2013, 16:41
alex1084
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Error con phpmailer correo masivo

Hola birss, retomando el tema.

Mira has los envíos en forma individual, porque cuando haces esto

Código PHP:
Ver original
  1. $email_v = $_POST[email];
  2.     $emails   = implode(", ",$email_v);  
  3.     foreach ($email_v as $emails)  {
  4.      $mail->AddAddress($email);
  5. }

lo que estas haciendo es añadiendo muchas cuentas de correo para un mismo envío y sin duda eso te genera los errores ya que si las cuentas de correo no van separadas las tomará como una unica cuenta y eso es error.

En mi caso tengo una función que se encarga de los envíos con el phpmailer

Código PHP:
Ver original
  1. function sendMail($Asunto,$emailPara,$nombrePara,$email_de,$nombre_de,$email_copia,$nombre_copia, $body){
  2.     $mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch
  3.     $mail->IsSMTP(); // telling the class to use SMTP  
  4.     try {
  5.       $mail->SMTPDebug  =  0;//2;                // enables SMTP debug information (for testing)
  6.       $mail->SMTPAuth   = true;                  // enable SMTP authentication
  7.       $mail->AddAddress($emailPara, $nombrePara);//Destinatario
  8.       $mail->SetFrom($email_de, $nombre_de); //Remitente
  9.       $mail->Subject = $Asunto; //asunto
  10.       $mail->AltBody = 'Para ver el mensaje es necesario usuar un cliente de correo compatible con HTML!'; // optional - MsgHTML will create an alternate automatically
  11.       //$mail->MsgHTML(file_get_contents('contents.html')); //Cuerpo HTML
  12.       $mail->MsgHTML($body); //Cuerpo HTML
  13.       $mail->Send();
  14.       $echo ="1";
  15.     } catch (phpmailerException $e) {
  16.       $echo = $e->errorMessage(); //Pretty error messages from PHPMailer
  17.     } catch (Exception $e) {
  18.       $echo = $e->getMessage(); //Boring error messages from anything else!
  19.     }
  20.     return $echo;
  21. }

Luego cuando necesito hacer envíos de correo independientemente de la cantidad de destinatarios lo que hago es lo siguiente

Código PHP:
Ver original
  1. <?php
  2. foreach($list as $reg){
  3.     $body ="el mensaje";
  4.     sendMail("Asunto",$reg->e_mail,$reg->ape_y_nom,"[email protected]","Nombre de quien envia","la coapia email","nombre", $body);
  5. }
  6. ?>