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> 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> <br> <br> </p> <p> <input name="submit" type="submit" id="submit" value="Enviar"> <input name="reset" type="reset" id="reset" tabindex="5" value="Restablecer"> </p> </form> </div> </div> </div> </div> </body> </html>
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";
?>
Muchísimas gracias de antemano.
Un saludo