Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/10/2005, 18:27
zsamer
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 21 años
Puntos: 8
PhpMailer Ayuda, Porfavor!!!

Bueno tengo el siguiente codigo php para enviar mail, el problema es que quiero que me llegue a dos correos, al correo que envia el mail y a otro correo, el tema es que me lo envia a uno solo y me arroja el siguiente error:

Código:
Has enviado un mensaje a:
[email protected] 
El Mensaje se envió correctamente, estaremos en contácto con Usted, Gracias

Problemas enviando correo electrónico a [email protected]
SMTP Error: The following recipients failed [[email protected]] Volver al Inicio
Código PHP:
if ($enviar) {

    OpenTable2();
    //creamos un array que estará formado por las direcciones de destino
    $direcciones["direccion1"]="[email protected]";
    $direcciones["direccion2"]="[email protected]";      
      //pasamos a enviar el correo

      // primero hay que incluir la clase phpmailer para poder instanciar 
      //un objeto de la misma
      require "includes/class.phpmailer.php";

      //instanciamos un objeto de la clase phpmailer al que llamamos 
      //por ejemplo mail
      $mail = new phpmailer();

      //Definimos las propiedades y llamamos a los métodos 
      //correspondientes del objeto mail

      //Con PluginDir le indicamos a la clase phpmailer donde se 
      //encuentra la clase smtp que como he comentado al principio de 
      //este ejemplo va a estar en el subdirectorio includes
      $mail->PluginDir = "includes/";

      //Con la propiedad Mailer le indicamos que vamos a usar un 
      //servidor smtp                            
      $mail->Mailer = "smtp";

      //Asignamos a Host el nombre de nuestro servidor smtp
      $mail->Host = "correo.terra.cl";
      
      //Le indicamos que el servidor smtp requiere autenticación
      $mail->SMTPAuth = false;

      //Le decimos cual es nuestro nombre de usuario y password
      $mail->Username = "[email protected]";
      $mail->Password = "mipassword";
      
      //Indicamos cual es nuestra dirección de correo y el nombre que 
      //queremos que vea el usuario que lee nuestro correo
      $mail->From = "[email protected]";

      $mail->FromName = $nombreper;

      //Asignamos asunto y cuerpo del mensaje
      //El cuerpo del mensaje lo ponemos en formato html, haciendo 
      //que se vea en negrita
      
      $mail->Subject = "From: $email \nReply-To: $adminMail";
    $mensaje = "\n\n$nombreper $apellido($email)";
    $mensaje .= "\n\nTelefono: $telefono";
    $mensaje .= "\n\nTítulo:$titulomsg";
    $mensaje .= "\n\nMensaje:$msg";
    $mensaje = nl2br($mensaje);
      $mail->Body = $mensaje;

      //Definimos AltBody por si el destinatario del correo no admite 
      //email con formato html
      $mail->AltBody =$mensaje;

      //el valor por defecto 10 de Timeout es un poco escaso dado que voy a usar 
      //una cuenta gratuita y voy a usar attachments, por tanto lo pongo a 120  
      $mail->Timeout=120;

      //Indicamos cuales son las direcciones de destino del correo y enviamos 
      //los mensajes
      reset($direcciones);
      while (list($clave, $valor)=each($direcciones)) {
    $mail->AddAddress($valor);

    //se envia el mensaje, si no ha habido problemas la variable $success 
    //tendra el valor true
    $exito = $mail->Send();

    //Si el mensaje no ha podido ser enviado se realizaran 4 intentos mas 
    //como mucho para intentar enviar el mensaje, cada intento se hara 5 s
    //segundos despues del anterior, para ello se usa la funcion sleep
     $intentos=1; 
       while((!$exito)&&($intentos<5)&&($mail->ErrorInfo!="SMTP Error: Data not accepted")){
       sleep(5);
            //echo $mail->ErrorInfo;
            $exito = $mail->Send();
            $intentos=$intentos+1;                
       }

    //La clase phpmailer tiene un pequeño bug y es que cuando envia un mail con
    //attachment la variable ErrorInfo adquiere el valor Data not accepted, dicho 
    //valor no debe confundirnos ya que el mensaje ha sido enviado correctamente
    if ($mail->ErrorInfo=="SMTP Error: Data not accepted") {
       $exito=true;
        }
        
    if(!$exito)
    {
       echo "Problemas enviando correo electrónico a ".$valor;
       echo "<br/>".$mail->ErrorInfo;    
    }
    else
    {
       //Mostramos un mensaje indicando las direccion de 
       //destino y fichero  adjunto enviado en el mensaje    
       $mensaje="<p>Has enviado un mensaje a:<br/>";
       $mensaje.=$valor." <br/>";

       $mensaje.="El Mensaje se envió correctamente, estaremos en contácto con Usted, Gracias</p>";
         echo $mensaje;


    }
    // Borro las direcciones de destino establecidas anteriormente
        $mail->ClearAddresses();
    
    }
    echo "<a href='$PHP_SELF'> Volver al Inicio</a>";

    CloseTable();
    } 
       else {
 
OpenTable2();

?>
<SCRIPT LANGUAGE="JavaScript">
    <!-- Hide code from non-js browsers
    function validate()
    {
        formObj = document.contact;
        if ((formObj.name.value == "") ||
            (formObj.email.value  == "") ||
            (formObj.subject.value  == "") ||
            (formObj.msg.value  == ""))
        {
            alert("Debe llenar los campos Requeridos");
            return false;
        }
        
        
        /*else {
            alert('<? echo $finishedtext?>');
            return true;
        }*/
    }
    // end hiding -->
</SCRIPT>

<TABLE BORDER=0 cellpadding=5 cellspacing=0>
  <TR>
    <TD>
       <TABLE BORDER=0 cellpadding=2 cellspacing=0>
         <form ENCTYPE="multipart/form-data" action="index.php?modulo=contacto" method="post" name="contact" onSubmit="return validate()">
         <TR>
           <TD>
                <BR>
                <DIV>
                1. Nombre(*)<BR>
                <input type=text size=50 maxlength=50 name=nombreper class='txtfield'><BR>

                2. Apellidos<BR>
                <input type='text' size='50' maxlength='50' name='apellido'><BR>

                3. Direccion de Correo (*)<BR>
                <input type='text' size='50' maxlength='60' name='email'><BR>


                4. Numero Telefono<BR>
                <input type='text' value='(000) 000-0000' size='50' maxlength='32' name='telefono'><BR>


                5. Titulo (*)<BR>
                <input type='text' value='' size='50' maxlength='60' name='titulomsg'><BR>


                6. Mensaje (*)<BR>
                <textarea name='msg' rows='7' cols='50'></textarea><BR>

                </DIV>

                <input type='submit' name='enviar' value='Enviar'><BR><BR>(*) Campos Requeridos

          </TD>
        </tR>
        </FORM>
      </tABLE>
    </TD>
  </TR>
</tABLE>
<?php
CloseTable
();
}
?>
cualquier ayuda muchisimas gracias, ya que es urgente.

salu2