BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

estoy intentando hacer un formulario para una web peor no…

BocaDePez
BocaDePez

estoy intentando hacer un formulario para una web peor no consigo que llegue a recibir el correo, alguna idea

tengo dos ficheros

formulario.php donde esta el formulario

y luego enviar.php que es donde esta el codigo para enviar el formulario

--

--$nombre = $_POST['nombre'];
--$apellidos = $_POST['apellidos'];
--$email = $_POST['email'];
--$telefono = $_POST['telefono'];
--$consulta = $_POST['consulta'];

--$header = 'From: ' . $email . " \r\n";
--$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
--$header .= "Mime-Version: 1.0 \r\n";
--$header .= "Content-Type: text/plain";

--$mensaje = "Este mensaje fue enviado por " . $nombre . $apellidos . $telefono . " \r\n";
--$mensaje .= "Su e-mail es: " . $mail . " \r\n";
--$mensaje .= "Mensaje: " . $_POST['consulta'] . " \r\n";
--$mensaje .= "Enviado el " . date('d/m/Y', time());

--$para = 'correo@dominio.es';
--$asunto = 'Contacto desde el rincon de la tapa';

--mail($para, $asunto, utf8_decode($consulta), $header);
--header('Location: prueba.php');

--echo 'Gracias por contactar con nosotros, responderemos a tu consulta con la mayor brevedad posible';

es

BocaDePez
BocaDePez
-1
🗨️ 2
BocaDePez
BocaDePez
BocaDePez
BocaDePez

¿Has pegado bien el código? Yo no sé PHP, pero aún así el código no tiene demasiado sentido.

¿Qué parámetros usa la función mail? ¿Dónde metes el mensaje? ¿Qué es la función header?

Y en cuanto al servidor SMTP con el que conectas, ¿tienes permiso de envío desde ese equipo? ¿necesita autenticación previa?

A ver si puedes aclararlo un poco.

LineBenchmark

¿Qué hay dentro de ese prueba.php?

¿Miraste el .log del server por si indica algún warning?

¿Revisaste la configuración de php?

Por si acaso, mira el uso de mail, aunque hay miles de ejemplos por inet.

BocaDePez
BocaDePez

Hola soy el del comentario #2025070. Gracias a los enlaces de Donovan he podido leer algo sobre esas funciones.

¿No deberías haber puesto utf8_decode($mensaje) ? Porque si no, todo el tema del texto "Este mensaje fue enviado por" blablabla y la fecha, lo pierdes.

Pero aún así el correo debería haber llegado si es que el MTA está correctamente funcionando en ese servidor. Claro, que esa es otra, presuponer un MTA corriendo y bien configurado.

Por cierto, si envías una cabecera HTTP con "Location:", va a forzar al navegador a redirigir la conexión a prueba.php, y nunca saldrá lo de "Gracias por contactar con nosotros" ....