PHP - formulario de contacto

 
Vista:
sin imagen de perfil
Val: 9
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

formulario de contacto

Publicado por Almudena (6 intervenciones) el 15/03/2017 19:00:21
Buenas tengo un formulario de contacto pero no me llegan los correos al mail

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<form action="envio.php" method="post">
	<div class="form-group">
		<input type="text" class="form-control" placeholder="Nombre" name="nombre">
	</div>
	<div class="form-group">
		<input type="text" class="form-control" placeholder="Dirección Email" name="email">
	</div>
	<div class="form-group">
		<input type="text" class="form-control" placeholder="Asunto" name="asunto">
	</div>
</form>
</div>
</div>
<div class="col-md-6 col-sm-12">
<div class="block">
	<form>
	<div class="form-group-2">
		<textarea class="form-control" rows="3" placeholder="Mensaje" name="mensaje"></textarea>
	</div>
	<button class="btn btn-default" type="submit">Enviar Mensaje</button>
	</form>

y el php es el siguiente


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
if(isset($_POST['email'])) {
 
// Debes editar las próximas dos líneas de código de acuerdo con tus preferencias
$email_to = "aqui pongo el mail";
$email_subject = "Asunto";
 
// Aquí se deberían validar los datos ingresados por el usuario
if(!isset($_POST['nombre']) ||
!isset($_POST['email']) ||
!isset($_POST['asunto']) ||
!isset($_POST['mensaje'])) {
 
echo header ("Location: invalido.php");
die();
}
 
$email_message = "Detalles del formulario de contacto:\n\n";
$email_message .= "Nombre: " . $_POST['nombre'] . "\n";
$email_message .= "Email: " . $_POST['email'] . "\n";
$email_message .= "Asunto: " . $_POST['asunto'] . "\n";
$email_message .= "Mensaje " . $_POST['mensaje'] . "\n\n";
 
 
// Ahora se envía el e-mail usando la función mail() de PHP
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
 
echo header ("Location: valido.php");
}
?>

pero no me llegan los mensajes. si alguien me pudiera ayudar...
gracias anticipadas
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

formulario de contacto

Publicado por xve (6935 intervenciones) el 16/03/2017 12:55:59
Hola Almudena, primeramente, yo quitaría la @ de delante de la instrucción mail(), ya que si hay algún error no te lo mostrara!!!

Que valor tiene la variable: email_from?


Luego, en la instrucción:
1
echo header ("Location: valido.php");
Te sobra el echo tiene que ser simplemente:
1
header ("Location: valido.php");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 9
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

formulario de contacto

Publicado por Almudena (6 intervenciones) el 16/03/2017 13:01:31
Edito lo tengo así
Formulario
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<form action="envio.php" method="post">
	<div class="form-group">
		<input type="text" class="form-control" placeholder="Nombre" name="nombre">
	</div>
	<div class="form-group">
		<input type="text" class="form-control" placeholder="Dirección Email" name="email">
	</div>
	<div class="form-group">
		<input type="text" class="form-control" placeholder="Asunto" name="asunto">
	</div>
</form>
</div>
</div>
<div class="col-md-6 col-sm-12">
<div class="block">
	<form>
	<div class="form-group-2">
		<textarea class="form-control" rows="3" placeholder="Mensaje" name="mensaje"></textarea>
	</div>
	<button class="btn btn-default" type="submit">Enviar Mensaje</button>
	</form>



php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
if(isset($_POST['email'])) {
 
// Debes editar las próximas dos líneas de código de acuerdo con tus preferencias
$email_to = "mail a quien le tiene que llegar el correo";
$email_subject = "Asunto";
 
// Aquí se deberían validar los datos ingresados por el usuario
if(!isset($_POST['nombre']) ||
!isset($_POST['email']) ||
!isset($_POST['asunto']) ||
!isset($_POST['mensaje'])) {
 
 
die();
}
 
$email_message = "Detalles del formulario de contacto:\n\n";
$email_message .= "Nombre: " . $_POST['nombre'] . "\n";
$email_message .= "Email: " . $_POST['email'] . "\n";
$email_message .= "Asunto: " . $_POST['asunto'] . "\n";
$email_message .= "Mensaje " . $_POST['mensaje'] . "\n\n";
 
 
// Ahora se envía el e-mail usando la función mail() de PHP
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($email_to, $email_subject, $email_message, $headers);
 
 
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

formulario de contacto

Publicado por xve (6935 intervenciones) el 16/03/2017 13:26:08
Prueba a modificar esta linea:
1
$email_to = "mail cliente";
por esta:
1
$email_to = $email_from = "mail cliente";

Poniendo el correo correcto del cliente...;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

formulario de contacto

Publicado por Alejandro (839 intervenciones) el 16/03/2017 20:20:23
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Tengo una pregunta
¿Esto es en tu servidor local? si es asi necesitas un servidor SMTP

Si es en un servidor en linea y es de prueba por lo general esta deshabilitado el SMTP

Si esta en un servidor y pagas por el servcio quiza tengas que espesificar de que cuenta envias el correo
1
ini_set('sendmail_from', 'miCorreo@miDomain.com);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

formulario de contacto

Publicado por Angel (17 intervenciones) el 30/04/2017 00:25:17
Hola muchas de las veces que no te llega un correo es porque los estás corriendo en localhost, súbelo a un hosting aunque sea gratuito te será suficiente para probar, y checa algunos detalles que te muestran en este video y ve si lo tienes igual.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar