Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/06/2012, 06:46
Avatar de manyblue
manyblue
 
Fecha de Ingreso: marzo-2008
Mensajes: 329
Antigüedad: 16 años, 8 meses
Puntos: 10
Instalación PHPMailer en Ubuntu y LAMP

Estoy intentando instalar "phpmailer" en Ubuntu com LAMP Server, os pediría por favor que me hecharais una mano y me digais en que me equivoco.
Tengo manuales para Sendmail y Postfix con sus programas dependientes pero prefiero comenzar por phpmailer que me habeis dicho en otro post que es mas facil, para ello usare mi correo de "gmail.


1.- Sistema operativo Ubuntu 11.04, instalados y corriendo LAMP Server más phpmyadmin.

2.- Directorio web "/var/www/".

3.- Descargamos "phpmailer" de aquí:

http://sourceforge.net/projects/phpm...Mailer%20v5.1/

4.- Nos olvidamos de "php.ini" en "/etc/php5/apache2/php.ini", no se necesita pues phpmailer en una clase a la que se llama, creo.

5.- Descomprimimos el archivo .zip a un directorio que llamamos "phpmailer", este directorio lo metemos en el directorio web "/var/www/ y le damos permisos "chmod -R 755 /var/www/phpmailer".

6.- No tocamos nada en estos archivos de phpmailer

7.- Construimos el formulario en un archivo html o php que llamamos "contacto.html", un ejemplo podría ser este:

contacto.html

Código HTML:
<!DOCTYPE HTML>
  <html lang="EN" dir="ltr">
  <head profile="http://gmpg.org/xfn/11">
  <title>Contacto</title>
  <meta charset="utf-8">
  <link rel="stylesheet" href="styles/layout.css" type="text/css">
  </head>
  <body id="top">
  <div class="wrapper row3">
    <div id="container" class="clear">
      <div id="content">
        <h1> &nbsp; &nbsp;FORMULARIO DE CONTACTO: </h1>
        <div id="respond">
          <form action="enviar_contacto.php" method="post" id="formulariocontacto">
              <p><strong>Nombre:</strong><br>
              <label for="nombre"></label>
              <input name="nombre" type="text" id="nombre" onBlur="MM_validateForm('nombre','','R','email','','RisEmail','asunto','','R','texto','','R');return document.MM_returnValue">
              <br>
              <strong>E-mail:</strong><br>
              <label for="email"></label>
              <input type="text" name="email" id="email">
              <br>
              <strong>Asunto:</strong><br>
              <label for="asunto"></label>
              <input type="text" name="asunto" id="asunto">
              <br>
              <strong>Teléfono:</strong><br>
              <label for="telefono"></label>
              <input type="text" name="telefono" id="telefono">
              <br>
              <br>
              <strong>Texto: </strong><br>
              <label for="texto"></label>
              <textarea name="texto" id="texto" cols="40" rows="5"></textarea>
  &nbsp;<br>
  <br>
            </p>
              <p>
    <input name="submit" type="submit" id="submit" value="Enviar">
                &nbsp;
                <input name="reset" type="reset" id="reset" tabindex="5" value="Restablecer">
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
          </form>
        </div>
      </div>
    </div>
  </div>
  </body>
  </html> 
Nótese la acción que es un archivo que llamaremos "enviar_cotacto.php" que es que hay que construir y será el que verdaderamente enviara el formulario. Yo lo voy hacer con mi "gmail", también se puede hacer con "hotmail" y "yahoo" creo.


8.- Ahora construimos el archivo "enviar_contacto.php" según he visto, no se si estará bien por lo que acudo a vosotros para después probarlo.


enviar_contacto.php

Código PHP:
<?php
include("phpmailer/class.phpmailer.php"); //pacht o direccion del archivo class.phpmailer.php (el directorio phpmailer estara en el directorio web www o html segun el server

    
$mail->IsSMTP();  // enviar vía SMTP
$mail->Host     "smt.gmail.com"// Servidores SMTP
$mail->SMTPAuth true;     // activar la identificacín SMTP
$mail->Username "[email protected]";  // usuario SMTP
$mail->Password "pepitodelospalotes"// clave SMTP

SetLanguage('es','phpmailer/language/'))  // lenguaje español
{
    echo 
'

No se ha podido cargar el fichero de idioma adecuado.

'
;
}
// Adquirimos las variables del formulario y mas
$dia=date("d.m.Y");
$hora=date("H:i:s");
$nombre $_POST['nombre'];
$email $_POST['email'];
$asunto $_POST['asunto'];
$telefono $_POST['telefono'];
$texto $_POST['texto'];
$mensaje "
 El mensaje se a enviado el dia: $dia a las: $hora\n\n 
----------------------------------------------------------------------------\n
 Nombre: $nombre\n
 Email:  $email\n
 Telefono:  $telefono\n
 Asunto:  $asunto \n
 Texto:  $texto\n
 ----------------------------------------------------------------------------\n
 "
;

// Introducimos la información del remitente del mensaje
$mail->From     "[email protected]";
$mail->FromName "FORMULARIO DE CONTACTO";  
$mail->AddReplyTo("[email protected]","Informasión");

// y los destinatarios del mensaje. Podemos especificar más de un destinatario
$mail->AddAddress("[email protected]","FORMULARIO DE CONTACTO");
$mail->AddCC("[email protected]"); // También podemos enviar con copia de carbón
$mail->AddBCC("[email protected]"); // y copia de carbón oculta

// Establecemos los parámetros del mensaje: ancho y formato.
$mail->WordWrap 250// ancho del mensaje
$mail->IsHTML(true); // enviar como HTML

// Añadimos el mensaje: asunto, cuerpo del mensaje en HTML y en formato
// solo texto
$mail->Subject  =  $asunto;
$mail->Body     =  $mensaje;
$mail->AltBody  =  $mensaje// Para los queno pueden recibir en formato HTML

if(!$mail->Send())
{
   echo 
"El mensaje no se ha podido enviar

"
;
   echo 
"Error: " $mail->ErrorInfo;
   exit;
}
echo 
"El mensaje se ha enviado correctamente";
?>
Me equivoco en algo ????

Muchísimas gracias de antemano.

Un saludo