Foros del Web » Programando para Internet » PHP »

Problemas con PHPMailer

Estas en el tema de Problemas con PHPMailer en el foro de PHP en Foros del Web. Buenas a todos! soy nuevito en el foro, despues de casi 24hs de pelea con phpmailer me di por vencido y vengo a preguntarles para ...
  #1 (permalink)  
Antiguo 12/02/2016, 08:28
 
Fecha de Ingreso: febrero-2016
Ubicación: Argentina
Mensajes: 8
Antigüedad: 8 años, 2 meses
Puntos: 0
Exclamación Problemas con PHPMailer

Buenas a todos! soy nuevito en el foro, despues de casi 24hs de pelea con phpmailer me di por vencido y vengo a preguntarles para saber que es lo que estoy haciendo mal.

arme un formulario, en el cual paso los datos por post, pero apenas cargo el formulario me dice lo siguiente:

Parse error: syntax error, unexpected ',' in /home6/kenshopublicidad/public_html/form.php on line 16

Cuando voy a la linea 16 me encuentro esto:
$mail->AddAdress = ($email, $nombre);
Si le saco el campo nombre y pongo esto:
$mail->AddAdress = ($email);
me carga el formulario pero no me manda el mail.

espero haber sido claro, les paso el codigo completo, dice para enviar archivo adjunto pero no lo voy a usar hasta no lograr que funcione la libreria.

Desde ya muchas gracias a los que puedan ayudarme!

Código PHP:
<?php 
    $msg
null;
    if (isset(
$_POST['phpmailer'])) {
        
$nombre$_POST['nombre'];
        
$email$_POST['email'];
        
$asunto$_POST['asunto'];
        
$mensaje$_POST['mensaje'];
        
$adjunto$FILES['adjunto'];

        require 
'PHPMailer/class.phpmailer.php';
        
$mail= new PHPMailer;
        
$mail->Host 'localhost';
        
$mail->From '[email protected]';
        
$mail->FromName 'probando';
        
$mail->Subjet $asunto;
        
$mail->AddAdress = ($email$nombre);
        
$mail->MsgHTML $mensaje;

        if (
$mail->Send()) {
            
$msg 'mensaje enviado con exito';
        }
        else
            
$msg 'error al enviar';
    }
 
?>
<!DOCTYPE HTML>
<html>
    <head>
        <title>Home</title>
        <meta charset='utf-8' /> <!--sirve para que se lean las ñ y las tildes-->
        <style type="text/css">/*asi son los comentarios en css*/
        

        </style>
    </head>
    <link rel="stylesheet" type="text/css" href="estilos.css"> <!--linkear a hoja de estilos css selector de clases-->
    <body>
    <h3><?php echo $msg?></h3>

    <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
        <table>
        <tr>
          <td>Nombre</td>
          <td><input type="text" name="nombre"></td>
        </tr>
        <tr>
          <td>email</td>
          <td><input type="text" name="email"></td>
        </tr>
        <tr>
          <td>asunto</td>
          <td><input type="text" name="asunto"></td>
        </tr>
        <tr>
          <td>adjunto</td>
          <td><input type="file" name="adjunto"></td>
        </tr>
        <tr>
          <td>mensaje</td>
          <td><textarea name="mensaje" cols="30" rows="10"></textarea></td>
        </tr>

        </table>
        <input type="hidden" name="phpmailer">
        <input type="submit" value="enviar">
        
    </form>






    </body>
</html>
  #2 (permalink)  
Antiguo 12/02/2016, 15:12
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 4 meses
Puntos: 20
Respuesta: Problemas con PHPMailer

Hola amigo,
lo primero que veo es que te falta enlazar la librería de PHPMailer..
debes descargarla y luego enlazarla

Saludos
  #3 (permalink)  
Antiguo 12/02/2016, 15:32
 
Fecha de Ingreso: febrero-2016
Ubicación: Argentina
Mensajes: 8
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Problemas con PHPMailer

Muchas gracias por tu respuesta!

pero te consulto, no la enlace en la linea donde esta el require? lo que esta despues de guardar las variables?
  #4 (permalink)  
Antiguo 12/02/2016, 17:36
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 4 meses
Puntos: 20
Respuesta: Problemas con PHPMailer

Hola amigo!
Vaya q estaba dormido jaja, disculpa, no lo noté! :p

Te falta configurar algunas opciones más de la librería, te dejo un ejemplo básico, espero te sirva

Código PHP:
Ver original
  1. $mail = new PHPMailer(true);
  2. $mail->IsSMTP();
  3. try {
  4.     $mail->SMTPAuth=true;
  5.     $mail->SMTPSecure = 'ssl';
  6.     $mail->Host="tuhost";
  7.     $mail->Port=465;
  8.     $mail->Username="email@tudominio";
  9.     $mail->Password="password";
  10.     $mail->SMTPDebug=0;
  11.     $mail->Helo = "tudominio.com"; //Muy importante para que llegue a hotmail y otros,opcional
  12.     $mail->AddAddress("emaildestino");
  13.     $mail->AddBCC("otrocorreo");  //Copia oculta, opcional
  14.     $mail->IsHTML(true); //Opcional
  15.     $mail->Subject="Asunto del correo";
  16.     $mail->From="email@tudominio";
  17.     $mail->FromName= "NOMBRE QUE APARECERÁ AL RECIBIR EL CORREO";
  18.     $mail->Timeout=30;
  19.     $mail->Body= "TU MENSAJE";
  20.     $mail->AltBody = strip_tags("tu mensaje"); //opcional
  21.     $exito=$mail->Send();
  22.     if($exito) echo "Correo enviado";
  23.     else echo "No se pudo enviar el correo";
  24. } catch (phpmailerException $e){
  25.     echo "Servicio no disponible!";
  26. } catch (Exception $e) {
  27.     echo "Servicio no disponible!";
  28. }

Saludos!
  #5 (permalink)  
Antiguo 14/02/2016, 17:44
 
Fecha de Ingreso: febrero-2016
Ubicación: Argentina
Mensajes: 8
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Problemas con PHPMailer

buenisimo! ahora lo logre, lo unico cuando enviaba el mail aparecia esto:

Fatal error: Class 'SMTP' not found in /home6/kenshopublicidad/public_html/PHPMailer/class.phpmailer.php on line 1443

asi que saque las lineas siguientes en el codigo que me pasaste:

$mail->IsSMTP();
$mail->SMTPAuth=true;
$mail->SMTPSecure = 'ssl';

al sacarlas funciono perfecto.

Etiquetas: mail-php, phpmailer
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:41.