Aquí te dejo un ejemplo sencillo de uso, sin comprobaciones de datos.
Recuerda que las clases deben estar en el mismo directorio que el script de envío.
Código PHP:
<?php
$fecha = date(d.'/'.m.'/'.Y);
$hora = $_POST['hora'];
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$telf = $_POST['telf'];
$mensaje = strip_tags($_POST['mensaje']);
$mensaje_html = preg_replace('/\n/' , '<br />' , $mensaje);
require_once('class.phpmailer.php');
//include("class.smtp.php");
$mail = new PHPMailer();
$mail->SetLanguage("es", "");
$mail->CharSet = "UTF-8";
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = "smpt.servidor.com";
$mail->Port = "25";
$mail->Username = "user";
$mail->Password = "pass";
$mail->AddAddress("[email protected]");
$mail->AddReplyTo($email , $nombre); // responder a: quien lo envia y nombre del que lo envía (el que rellena el form)
$mail->SetFrom($email , $nombre); // enviado por: lo mismo
$mail->IsHTML(true);
$mail->Subject = "Asunto del email";
$mail->Body = "
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
</head>
<body>
<table>
<tr>
<td>Formulario recibido.<br />La información es la siguiente:</td>
</tr>
</table>
<p><br /></p>
<table>
<tr>
<td>Fecha del envío:</td>
<td>".$fecha."</td>
</tr>
<tr>
<td>Hora:</td>
<td>".$hora."</td>
</tr>
<tr>
<td>Nombre:</td>
<td>".$nombre."</td>
</tr>
<tr>
<td>E-mail:</td>
<td>".$email."</td>
</tr>
<tr>
<td>Teléfono:</td>
<td>".$telf."</td>
</tr>
</table>
<p><br /></p>
<p><strong>Mensaje:</strong></p>
<p>".$mensaje_html."</p>
</body>
</html>
";
$mail->AltBody = "Formulario de recibido. La información es la siguiente:
\n\n
Fecha: ".$fecha."
\n
Hora: ".$hora."
\n
Nombre: ".$nombre."
\n
E-mail: ".$email."
\n
Teléfono: ".$telf."
\n
\n\n\n
Mensaje:
\n\n
".$mensaje;
if( !$mail->Send() )
{
die( 'Error: '.$mail->ErrorInfo );
exit();
}
else
{
header('Location: /index.php');
exit();
}
?>
Como ves, creamos un mensaje en html y otro en texto llano para clientes e-mail que no soporten html.
Espero que te sirva de ayuda.