Enviar mensaje con php llega en blanco
Buenas Tardes,
Realizando el formulario de contacto de una web, a la hora de enviar el mensaje no me da ningun problema, de echo cuando envio el mensaje me sale el siguiente mensaje:
Pero a la hora de recibir el mensaje en el correo lo recibo en blanco:
El código PHP es el siguiente:
Donde puede estar el error?
Lo raro es que si el mensaje me llega a la carpeta de SPAM, lo veo perfectamente
Editado
Realizando el formulario de contacto de una web, a la hora de enviar el mensaje no me da ningun problema, de echo cuando envio el mensaje me sale el siguiente mensaje:
Pero a la hora de recibir el mensaje en el correo lo recibo en blanco:
El código PHP es el siguiente:
<?php ob_start('compress_page'); require_once('conexion.php'); include('seguridad.php'); $menu='contacto'; if (isset($_POST['nombre'])&&($_POST['email']!='')&&($_POST['telefono']!='')&&($_POST['comentario']!='')){ //enviar contacto // Llamando a los campos $nombre = $_POST['nombre']; $correo = $_POST['email']; $telefono = $_POST['telefono']; $mensaje = $_POST['comentario']; // Datos para el correo $para = $correo; $titulo = "Contacto desde nuestra web de $nombre"; $mensaje = htmlentities($mensaje); // Cabeceras $cabeceras = 'MIME-Version: 1.0' . "\r\n"; $cabeceras .= 'Content-type: text/html; charset=utf-8' . "\r\n"; $cabeceras .= 'From: Gnelec Montajes <"noreply@gnelec.es">' . "\r\n"; $cabeceras .= 'Reply-To: '.$correo. "\r\n"; $carta = '<html> <head> <title>' . $titulo . '</title> </head> <body> <h1>Has recibido desde la web https://www.gnelec.es/</h1> <p>Mensaje: ' . $mensaje . ' <br><br> Puedes ponerte en contacto al email: ' . $correo . ', o en el teléfono: '.$telefono.'</p> <hr> <p>Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Gnelec Montajes Sl. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía.</p> <p>De acuerdo con la La Ley Orgánica de Protección de Datos de Carácter Personal, (LOPD), le informamos que sus datos personales y dirección de correo electrónico forman parte de un fichero, cuyo responsable es GNELEC MONTAJES SL, siendo la finalidad del fichero: la gestión de carácter comercial y el envío de comunicaciones comerciales sobre nuestros productos y/o servicios.</p> <p>Si lo desea, podrá usted ejercitar los derechos de acceso, rectificación, cancelación y oposición de sus datos enviando un mensaje a la siguiente dirección de correo electrónico a gnelec@gnelec.es indicando en la línea de “Asunto” el derecho que desea ejercitar.</p> <hr> <p><strong>Este mensaje ha sido generado automáticamente desde https://www.gnelec.es/</strong></p> <body </html>'; // Enviando Mensaje mail($para, $titulo, utf8_decode($carta), $cabeceras); $copiaEnvio = mail($dato[1],$titulo,$contenido,$encabezado); header('Location:'.$_SERVER['PHP_SELF'].'?enviado'); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title> <?php echo $dato[2]; ?> </title> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta name="author" content="Jorge Cavero Zarza" /> <meta name="Robots" content="noodp,noydir "> <meta name="msvalidate.01" content="E51DC78C48F5D6DD5F018B8DF48F5148" /> <meta name="p:domain_verify" content="fbd1ad0b44704abfa02c94313b9a455f" /> <!-- CSS --> <link rel="stylesheet" href="<?php echo $dato[0]; ?>css/estilos.css"> <!-- FAVICON --> <link rel="icon" type="image/x-icon" href="<?php echo $dato[0]; ?>img/favicon/favicon.ico" /> <link rel="icon" type="image/png" href="<?php echo $dato[0]; ?>img/favicon/favicon-16x16.png" sizes="16x16"> <link rel="icon" type="image/png" href="<?php echo $dato[0]; ?>img/favicon/favicon-32x32.png" sizes="32x32"> <link rel="icon" type="image/png" href="<?php echo $dato[0]; ?>img/favicon/favicon-96x96.png" sizes="96x96"> <link rel="apple-touch-icon" sizes="60x60" href="<?php echo $dato[0]; ?>img/favicon/apple-touch-icon-60x60.png"> <link rel="apple-touch-icon" sizes="76x76" href="<?php echo $dato[0]; ?>img/favicon/apple-touch-icon-76x76.png"> <link rel="apple-touch-icon" sizes="120x120" href="<?php echo $dato[0]; ?>img/favicon/apple-touch-icon-120x120.png"> <link rel="apple-touch-icon" sizes="152x152" href="<?php echo $dato[0]; ?>img/favicon/apple-touch-icon-152x152.png"> <link rel="apple-touch-icon" sizes="180x180" href="<?php echo $dato[0]; ?>img/favicon/apple-touch-icon-180x180.png"> <link rel="manifest" href="<?php echo $dato[0]; ?>img/favicon/manifest.json"> <link rel="mask-icon" href="<?php echo $dato[0]; ?>img/favicon/safari-pinned-tab.svg" color="#585858"> <meta name="apple-mobile-web-app-title" content="<?php echo $dato[2]; ?>"> <meta name="msapplication-TileImage" content="<?php echo $dato[0]; ?>img/favicon/ms-icon-144x144.png"> <meta name="description" content="<?php echo strip_tags($dato[3]); ?>"> <meta name="keywords" content="<?php echo $dato[5]; ?>" /> </head> <body> <?php include("inc/header.php"); ?> <div class="container margen-arriba"> <div class="row"> <div class="col-md-3"> <?php include('inc/menu.php'); ?> </div> <div class="col-md-9"> <main> <?php if(!isset($_GET['enviado'])){ ?> <form method="post" onsubmit="return contacto_ajax(names.value, email.value, phone.value, comentario.value, acepto_chk.value, palabra.value)" class="formulario" id="form_contacto"> <h3 class="formulario__titulo">Formulario De Contacto</h3> <input type="text" name="nombre" id="names" class="formulario__input"> <label for="" class="formulario__label">Nombre</label> <div class="row justify-content-between"> <div class="col-md-6"> <input type="email" name="email" id="email" class="formulario__input"> <label for="" class="formulario__label">Email</label> </div> <div class="col-md-6"> <input type="tel" name="telefono" id="phone" class="formulario__input"> <label for="" class="formulario__label">Teléfono</label> </div> </div> <div class="row justify-content-between py-3"> <div class="col-md-6"> <div class="recaptcha"> <span id="aleatorio"><?php include('inc/aleatorio.php'); ?></span> </div> <a class="cambiar_c text-center" onclick="cambiar_captcha();">Cambiar</a> </div> <div class="col-md-6"> <input type="text" name="palabra" id="palabra" class="formulario__input"> <label for="" class="formulario__label">Recaptcha</label> </div> </div> <textarea name="comentario" id="comentario" class="formulario__textarea"></textarea> <label for="" class="formulario__label">Detalle aquí su consulta</label> <div class="formulario__check acepto_chk text-center"> <input type="checkbox" name="acepto_chk" id="acepto_chk"> <span>He leído y acepto el <a href="<?php echo $dato[0]; ?>aviso-legal">aviso Legal</a></span> </div> <div class="form-group oculto" id="contacto-error"> <div class="alert alert-danger form-control form-control-sm" id="contacto-mensaje" role="alert"> <strong>Error</strong> </div> </div> <input type="submit" class="formulario__submit" value="Enviar consulta"> </form> <?php } else { ?> <div class="contacto-ok margen-arriba"> <div class="form-group"> <div class="alert alert-success form-control form-control-sm" role="alert"> <strong>El mensaje se ha enviado correctamente, se mandará una copia del mensaje a su correo</strong> </div> </div> </div> <?php }?> </main> </div> </div> </div> <?php include("inc/footer.php"); ?> </body> </html> <?php ob_end_flush(); function compress_page($buffer) { $search = array('/\>[^\S ]+/s','/[^\S ]+\</s','/(\s)+/s'); $replace = array('>','<','\\1'); return preg_replace($search, $replace, $buffer); } ?>
Donde puede estar el error?
Lo raro es que si el mensaje me llega a la carpeta de SPAM, lo veo perfectamente
Editado
Respuesta #1
Prueba a usar PHPMailer, la función mail a veces causa muchos fallos y errores con los envios a servicios de correo, ya que usa la configuracion del servidor y normalente de primera suele estar mal configurada (puede que este no sea el caso), lo bueno sería usar esta libreria ya que te permite realizar mejores configuraciones a la hora de realizar envios, tambien depende mucho de los gestores de correo que reciban el email.
1
Puntos
Puntos
Por credondo hace 72 meses
Principiante
Respuesta #2
hola creo que el error lo tienes en esta parte:
salu2
$copiaEnvio = mail($dato[1],$titulo,$contenido,$encabezado);prueba cambiando a:
$copiaEnvio = mail($dato[1],$titulo,$carta,$encabezado);o
mail($dato[1],$titulo,$carta,$encabezado);mas que nada por que la variable $contenido no la veo en tu script a no ser que la tengas seteada en otro fichero el problema viene de ahí ;)
salu2
2
Puntos
Puntos
Por alber hace 72 meses
Administrador