[ Foro de PHP ]

No puedo mandar correos

17-Oct-2020 02:47
Ponciano garcia
3 Respuestas

tengo dos archivos uno html y el otro php,pero no logro hace que envie el correo.
este es el codigo html.
--------------------------------------------
<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <meta http-equiv="X-UA-Compatible" content="ie=edge">
   <title>Formulario de contacto</title>

   <link rel="stylesheet" href="css/estilos.css">
   <link rel="stylesheet" href="css/font-awesome.css">

   <script src="js/jquery-3.2.1.js"></script>
   <script src="js/script.js"></script>
</head>
<body>

   <section class="form_wrap">

       <section class="cantact_info">
           <section class="info_title">
               <span class="fa fa-user-circle"></span>
               <h2>INFORMACION<br>DE CONTACTO</h2>
           </section>
           <section class="info_items">
               <p><span class="fa fa-envelope"></span> info@lavamatica200.com</p>
               <p><span class="fa fa-mobile"></span> +51 811 5195566</p>
           </section>
       </section>

       <form id="contact" action="contacto.php" method="post" class="form_contact">
           <h2>Envia un mensaje</h2>
           <div class="user_info">
               <label for="names">Nombres *</label>
               <input type="text" id="names" name="nombre" required>

               <label for="phone">Telefono / Celular</label>
               <input type="text" id="phone" name="telefono">

               <label for="email">Correo electronico *</label>
               <input type="text" id="email" name="correo" required>

               <label for="mensaje">Mensaje *</label>
               <textarea id="mensaje" name="mensaje" required></textarea>

               <input type="submit" value="Enviar Mensaje" id="btnSend">
           </div>
       </form>

   </section>

</body>
</html>

aqui les pongo el codigo php
-------------------------------------------
<?php
/**
* @version 1.0
*/

require("class.phpmailer.php");
require("class.smtp.php");

//echo("esta es la variable nombre;".$_POST["nombre"]." ");

// Valores enviados desde el formulario
//if ( !isset($_POST["nombre"]) || !isset($_POST["email"]) || !isset($_POST["mensaje"]) ) {
 //  die ("Es necesario completar todos los datos del formulario");
//}
$nombre = $_POST["nombre"];
$email = $_POST["correo"];
$telefono = $_POST['telefono'];
$mensaje = $_POST["mensaje"];

// Datos de la cuenta de correo utilizada para enviar vía SMTP
$smtpHost = "dtc020.ferozo.com";  // Dominio alternativo brindado en el email de alta
$smtpUsuario = "info@lavamatica200.com";  // Mi cuenta de correo
$smtpClave = "miClave";  // Mi contraseña

// Email donde se enviaran los datos cargados en el formulario de contacto
$emailDestino = "info@lavamatica200.com";

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Port = 465;
$mail->SMTPSecure = 'ssl';
$mail->IsHTML(true);
$mail->CharSet = "utf-8";


// VALORES A MODIFICAR //
$mail->Host = $smtpHost;
$mail->Username = $smtpUsuario;
$mail->Password = $smtpClave;

$mail->From = $email; // Email desde donde envío el correo.
$mail->FromName = $nombre;
$mail->AddAddress($emailDestino); // Esta es la dirección a donde enviamos los datos del formulario

$mail->Subject = "Contacto desde nuestra web"; // Este es el titulo del email.
$mensajeHtml = nl2br($mensaje);
$mail->Body = "{$mensajeHtml} <br /><br />Contacto desde nuestra web<br />"; // Texto del email en formato HTML
$mail->AltBody = "{$mensaje} \n\n Contacto desde nuestra web"; // Texto sin formato HTML
// FIN - VALORES A MODIFICAR //

$estadoEnvio = $mail->Send();
if($estadoEnvio){
header('Location:mensaje-de-envio.html');
   echo "El correo fue enviado correctamente.";
} else {
   echo $mail->ErrorInfo;
}
-----------------------------------------------------------------------
hojala y alguien me pueda ayudar por favor...


18-Oct-2020 11:49
Nacho Cabanes (+83)

Has modificado esto?

// VALORES A MODIFICAR //
$mail->Host = $smtpHost;
$mail->Username = $smtpUsuario;
$mail->Password = $smtpClave;


19-Oct-2020 23:51
Ponciano garcia

Graciaspor tomarte tu tiempo en responder.

si arriba hago mención


// Datos de la cuenta de correo utilizada para enviar vía SMTP
$smtpHost = "dtc020.ferozo.com";  // Dominio alternativo brindado en el email de alta
$smtpUsuario = "info@lavamatica200.com";  // Mi cuenta de correo
$smtpClave = "********";  // Mi contraseña


20-Oct-2020 09:41
Nacho Cabanes (+83)

El problema puede ser por usar una cuenta de correo de un servidor y enviarlo a través de otro servidor distintos. ¿Has probado con datos que sepas que funcionan, como una cuenta de Gmail?  (posiblemente tendrás que permitir "aplicaciones inseguras" en Gmail durante un instante para probarlo).

Imagino que si no se envía, llegará a este punto y te mostrará un mensaje de error:


if($estadoEnvio){
header('Location:mensaje-de-envio.html');
   echo "El correo fue enviado correctamente.";
} else {
   echo $mail->ErrorInfo;
}



¿Qué dice ese mensaje de error?






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)