Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/03/2008, 11:51
naturadinfinitus
 
Fecha de Ingreso: febrero-2008
Ubicación: Panamá
Mensajes: 145
Antigüedad: 16 años, 2 meses
Puntos: 0
Archivo con phpmailer

Hola amigos de ForosdW.
Yo quiero poner un formulario en mi pagina web en el cual le pido a los visitantes unos datos y su foto, pero trate de hacerlo con mail() y no se puede no me manda la foto.

Entonces me dijeron que la unica forma de hacerlo es con el phpmailer(), pero ya configure el codigo ya nada no me sale nada, no se envia ningun archivo al correo que le pongo.
A ver si me dan una ayudita usted que son los masters....

Aquí les dejo el codigo que hice
Código PHP:
<?
        $adireccion
"mi email"
      
$contenidom"Nombre: ".$nombre."\n"
                      
."Experiencia: ".$experiencia."\n"
                          
      
//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 "mail.caminoalacima.com";
      
      
//Le indicamos que el servidor smtp requiere autenticación
      
$mail->SMTPAuth true;

      
//Le decimos cual es nuestro nombre de usuario y password
      
$mail->Username "mi usuario ";
      
$mail->Password "mi contraseña";

      
//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=20;

      
//Indicamos el fichero a adjuntar si el usuario seleccionó uno en el formulario
      
if ($foto !="none") {
    
$mail->AddAttachment($foto,$foto_name);
      }

      
//Indicamos cuales son las direcciones de destino del correo y enviamos 
      //los mensajes
     
$mail->AddAddress($adireccion);

    
//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;
        }
    
    echo 
"<a href='$experiencia.html'> VOLVER AL FORMULARIO </a>";
  
     
?>
Gracias por la ayuda que puedan brindarme....