Ver Mensaje Individual
  #8 (permalink)  
Antiguo 15/11/2012, 12:58
Avatar de Geghnar
Geghnar
 
Fecha de Ingreso: noviembre-2012
Ubicación: Vigo
Mensajes: 17
Antigüedad: 12 años
Puntos: 2
Respuesta: problema con formulario de contacto

Hola a todos; este es mi primer aporte por lo que os pido paciencia si no lo hago correctamente...

lolosaurio; yo, para el envío de formularios, utilizo PHPMailer desde hace tiempo y me resulta comodísimo, lo puedes descargar desde [URL="http://sourceforge.net/projects/phpmailer/files/phpmailer%20for%20php5_6/PHPMailer%20v5.1/PHPMailer_v5.1.zip/download"]http://sourceforge.net/projects/phpmailer/files/phpmailer%20for%20php5_6/PHPMailer%20v5.1/PHPMailer_v5.1.zip/download[/URL] y te dejo un ejemplo del envío que hago de un formulario cualquiera a ver si te resulta de ayuda.


Código PHP:
<?php

$nombre 
stripslashesstrip_tags(trim($_POST['nombre'])));

$apellidos stripslashesstrip_tags(trim($_POST['apellidos'])));

$empresa stripslashesstrip_tags(trim($_POST['empresa'])));

$nif stripslashesstrip_tags(trim($_POST['nif'])));

$email stripslashesstrip_tags(trim($_POST['email'])));  

$direccion stripslashesstrip_tags(trim($_POST['direccion'])));  

$cp stripslashesstrip_tags(trim($_POST['cp'])));  

$poblacion stripslashesstrip_tags(trim($_POST['poblacion'])));  

$provincia stripslashesstrip_tags(trim($_POST['provincia'])));  

$telf stripslashesstrip_tags(trim($_POST['telf'])));  

$coment stripslashesstrip_tags(trim($_POST['coment'])));  


$fecha=date('d \d\e\l n \d\e\l Y');

$cuerpo "<html><head><title>E-Mail de Contacto</title></head><body>"

$cuerpo .= "<strong>CONTACTO WEB XXXXXX</strong><br><br>";

$cuerpo .= "<strong>Enviado el:</strong> " $fecha "<br>";

$cuerpo .= "<strong>Nombre:</strong> " utf8_decode($nombre) ."&nbsp;"utf8_decode($apellidos) . "<br>";

$cuerpo .= "<strong>Empresa:</strong> " utf8_decode($empresa) . "<br>";

$cuerpo .= "<strong>NIF/CIF:</strong> " $nif "<br>";

$cuerpo .= "<strong>E-mail:</strong> " $email "<br>";

$cuerpo .= "<strong>Direcci&oacute;n:</strong> " utf8_decode($direccion) . "&nbsp;"$cp ."<br>";

$cuerpo .= utf8_decode($poblacion) . "&nbsp;"utf8_decode($provincia) ."<br>";

$cuerpo .= "<strong>Tel&eacute;fono:</strong> " $telf "<br>";

$cuerpo .= "<strong>Comentarios:</strong> " utf8_decode($coment) . "<br><br>";

$cuerpo .= "<strong>Pol&iacute;tica de privacidad: Aceptada.</strong><br>";

$cuerpo .= "</body></html>"


require(
"../clases/class.phpmailer.php");   //ruta donde tienes los archivos de PHPMailer (class.phpmailer.php, class.pop3.php y class.smtp.php)

$mail = new PHPMailer();

$mail->IsSMTP();

$mail->Host ="HOST";  //servidor de correo saliente

$mail->SMTPAuth true;

$mail->Port 25;  //no cambiar a no ser que se especifique otro

$mail->Username "USER";  //poner el usuario de la cuenta

$mail->Password "PASSWORD"//poner el password de la cuenta

$mail->SetLanguage("es");

$mail->CharSet ="utf-8";

$mail->From = ("".$email."");  //cuenta de correo de donde nos llega el formulario

$mail->FromName = ("".utf8_decode($nombre)." ".utf8_decode($apellidos)."");  //campo "De:"

$mail->AddAddress("[email protected]");  //dirección de destino, se pueden añadir más destinatarios

$mail->AddReplyTo("".$email."""".utf8_decode($nombre)." ".utf8_decode($apellidos)."");  //nombre e e-mail al que se responderá

$mail->IsHTML(true);



$mail->Subject "Contacto desde su pagina Web";  //asunto

$mail->Body "".utf8_encode($cuerpo)."";

$mail->AltBody "";

if(!
$mail->Send()) {

    
$err=1;

    
header("location:fallo_envio.php");

} else {

    
header("location:envio_correcto.php");

}


?>
De todas maneras, a simple vista en tu código veo un pequeño fallo; donde pones:
$mail = $_POST['mail'];

debería poner:
$mail = $_POST['email'];

Si no estoy equivocado...

Espero resultar de ayuda.

Salu2.