Foros del Web » Programando para Internet » PHP »

Problema al mandar correo

Estas en el tema de Problema al mandar correo en el foro de PHP en Foros del Web. Buenas tardes, 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 ...
  #1 (permalink)  
Antiguo 03/03/2013, 13:04
 
Fecha de Ingreso: abril-2011
Mensajes: 103
Antigüedad: 13 años
Puntos: 3
Problema al mandar correo

Buenas tardes,
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:
    <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&eacute;fono:
	    <input class="clase1" type="text" name="telefono"/></span>
 
            <span>Comentarios<sup>*</sup>:</span>
            <textarea name="comentarios" ></textarea>
      </div>
      
      </form>
el archivo contacto.php

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);
?> 
Y finalmente la función MandarMail que está en el archivo Mail.Class.php
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);
        } 
Gracias nuevamente!

Etiquetas: correo, formulario, html
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 15:35.