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>