Código HTML:
<!DOCTYPE html> <html > <head> <meta charset="UTF-8"> <title>Formulario</title> <link rel='stylesheet' href='css/style.css' type='text/css' media='all' /> <script src="js/prefixfree.min.js"></script> <script src="https://www.google.com/recaptcha/api.js" async defer></script> </head> <body> <?php if (!empty($_POST)) { echo "<div class='alert'>"; $captcha; if(isset($_POST['g-recaptcha-response'])){ $captcha=$_POST['g-recaptcha-response']; } if(!$captcha){ echo '<div class="alert-warning">Por favor verifique el captcha.</div>'; }else{ $response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=6Lep8hATAAAAAMWyIsXAqwGURFVslbqLs&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']); if($response.success==false) { echo '<div class="alert-danger">You are spammer ! Get the @$%K out</div>'; }else { include("enviar.php"); echo '<div class="alert-success">Enviado el email.</div>'; } } echo "</div>"; } ?> <form action="#" method="post"> <input name="nombre" type="text" class="feedback-input" placeholder="Nombre" required /> <input name="email" type="text" class="feedback-input" placeholder="Correo electrónico" required /> <input name="telefono" type="text" class="feedback-input" placeholder="Teléfono" required /> <textarea name="text" class="feedback-input" placeholder="mensaje"></textarea> <div class="g-recaptcha" data-sitekey="6Lep8hATAAAAAPyfoVVlU_tPZR3A9V4s"></div> <br /> <input type="submit" value="ENVIAR"/> </form> <script src="js/index.js"></script> </body> </html>
Código:
<?php $mail="[email protected]"; $nombre = $_POST["nombre"]; $email = $_POST["email"]; $telefono = $_POST["telefono"]; $mensaje = $_POST["text"]; $thank="gracias.html"; $message = " nombre:".$nombre." email:".$email." telefono:".$telefono." mensaje:".$mensaje.""; $add_header = "From: [email protected] <".$_POST[email].">\r\n"; if (mail ($mail,"contactenos",$message,$add_header)) Header ("location: $thank" ); ?>
Pero necesito que el correo sea con autentificacion por problemas de SPAM con mi hosting.
He visto este codigo en internet y funciona muy bien:
Código:
Me podriais ayudar a "fusionarlos"?? Me explico necesito que mi codigo html funcione con el segundo codigo que os he pegado y no se como hacerlo. Gracias de antemano a todos y espero vuestra ayuda <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Formulario</title> <!-- Aquí va el título de la página -->
</head>
<body>
<?php
$Nombre = $_POST['Nombre'];
$Correo = $_POST['Correo'];
$Mensaje = $_POST['Mensaje'];
$Telefono = $_POST['Telefono'];
if ($Nombre=='' || $Correo=='' || $Mensaje==''){
echo "<script>alert('Los campos marcados con * son obligatorios');location.href ='javascript:history.back()';</script>";
}else{
require("includes/class.phpmailer.php");
$mail = new PHPMailer();
$mail->From = ("[email protected]"); //Dirección desde la que se enviarán los mensajes. Debe ser la misma de los datos de el servidor SMTP.
$mail->FromName = $Nombre;
$mail->AddAddress("[email protected]"); // Dirección a la que llegaran los mensajes.
// Aquí van los datos que apareceran en el correo que reciba
$mail->WordWrap = 50;
$mail->IsHTML(true);
$mail->Subject = "Contacto";
$mail->Body = "Nombre: $Nombre \n<br />".
"Email: $Correo \n<br />".
"Tel: $Telefono \n<br />".
"Mensaje: $Mensaje \n<br />";
// Datos del servidor SMTP
$mail->IsSMTP();
$mail->Host = "mail.rafaalvarado.com:26"; // Servidor de Salida.
$mail->SMTPAuth = true;
$mail->Username = "prueba@rafaalvarado"; // Correo Electrónico
$mail->Password = "123456"; // Contraseña
if ($mail->Send())
echo "<script>alert('Formulario Enviado');location.href ='javascript:history.back()';</script>";
else
echo "<script>alert('Error al enviar el formulario');location.href ='javascript:history.back()';</script>";
}
?>
</body>
</html>


