muchas gracias por anticipado. Mi problema es que cuando pulso el botón para enviar el correo, me sale un cuadro de diálogo en el que me dice que si quiero descargar el archivo contacto.php, definido en el "action" del formulario, en vez de enviarme el mail o salirme cualquier otro tipo de error. El formulario contacto.tpl.php
Código:
el archivo contacto.php<div id="formulario"> <form action="contacto.php" name="enviar" method="post"> <input type="hidden" name="accion" value="enviar"> <div class="formulario_mitad" > <span class="names">Nombre<sup>*</sup>: <input class="clase1" type="text" name="nombre"/></span> <span class="names">Apellidos<sup>*</sup>: <input class="clase1" type="text" name="apellidos"/></span> <span class="names">E-mail<sup>*</sup>: <input class="clase1" type="text" name="mail"/></span> <span class="names">Teléfono: <input class="clase1" type="text" name="telefono"/></span> <span>Comentarios<sup>*</sup>:</span> <textarea name="comentarios" ></textarea> </div> </form>
Código PHP:
include_once "/clases/Template.php";
include_once "/clases/Mail.Class.php";
$tpl =new Template();
$accion = isset($_REQUEST['accion']) ? $_REQUEST['accion'] : 'desconocido';
switch ($accion){
case 'enviar':
if ((isset($_SESSION['nombre'])) && (isset($_SESSION['apellidos'])) && (isset($_SESSION['mail'])) && (isset($_SESSION['telefono'])) && (isset($_SESSION['comentarios'])) ){
try{
$envio = new Mail();
$correo = $envio->MandarMail($_SESSION['nombre'], $_SESSION['apellidos'], $_SESSION['mail'], $_SESSION['telefono'],$_SESSION['comentarios']);
} catch (Exception $e) {
$tpl->set('error_msg',$e->getMessage());
} }
else{
try{
$envio = new Mail();
$correo = $envio->MandarMail($_POST['nombre'], $_POST['apellidos'], $_POST['mail'], $_POST['telefono'],$_POST['comentarios']);
$_SESSION['nombre'] = $_POST['nombre'];
$_SESSION['apellidos'] = $_POST['apellidos'];
$_SESSION['mail'] = $_POST['mail'];
$_SESSION['telefono'] = $_POST['telefono'];
$_SESSION['comentarios'] = $_POST['comentarios'];
} catch (Exception $e) {
$tpl->set('error_msg',$e->getMessage());
}
$tpl_cuerpo = 'contacto.tpl.php';
}
break;
default:
$tpl_cuerpo = 'contacto.tpl.php';
}
echo $tpl->fetch($tpl_cuerpo);
?>
Código PHP:
public function MandarMail($nombre, $apellidos, $mail, $telefono, $comentarios){
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$cuerpo = "
<html>
<head>
<title>Prueba de correo</title>
</head>
<body>
<h1>Nuevo Mensaje de </h1>
<p>
Mensaje de Prueba
</p>
</body>
</html>
";
mail("[email protected]","Nuevo Mensaje",$cuerpo,$headers);
}