Foros del Web » Programando para Internet » PHP »

Correo en Blanco formulario contacto

Estas en el tema de Correo en Blanco formulario contacto en el foro de PHP en Foros del Web. hola soy nuevo en el foro y estoy un poco desesperado, tengo una web de viajes y una sección para hacer reservas, y tengo un ...
  #1 (permalink)  
Antiguo 07/08/2014, 06:22
 
Fecha de Ingreso: agosto-2014
Mensajes: 4
Antigüedad: 9 años, 8 meses
Puntos: 0
Correo en Blanco formulario contacto

hola soy nuevo en el foro y estoy un poco desesperado, tengo una web de viajes y una sección para hacer reservas, y tengo un problema, últimamente todos los correos me llegan en blanco después de que hagan la reserva y no puedo ver ni quién lo hace ni nada, este es el formulario de contacto si alguien puede ayudarme se lo agradezco muchísimo.


Código PHP:
Ver original
  1. <?php
  2. //var_dump($_POST);
  3.  
  4.  
  5.  
  6. ini_set("SMTP","mail.e7kw4n-184308.webfusion-hosting.es" );
  7. ini_set("smtp_port","25" );
  8. ini_set('sendmail_from', 'mail.e7kw4n-184308.webfusion-hosting.es');
  9.  
  10. $encabezados = 'MIME-Version: 1.0' . "\r\n";
  11. $encabezados .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  12. $encabezados .= 'From: ' . $_POST['Email'] . "\r\n";
  13. //$encabezados .= 'To: Momarruecos <[email protected]>' . "\r\n";
  14. $encabezados .= 'X-Mailer: PHP/' . phpversion();
  15.  
  16. $asunto = 'Reserva formulario Momarruecos';
  17. $mensaje = "";
  18. foreach($_POST as $k => $v) {
  19.    $mensaje .= $k . ': '. $v . '<br>';
  20. }
  21. //echo $mensaje;
  22. mail("Momarruecos <[email protected]>", $asunto, $mensaje, $encabezados);
  23.  
  24.  
  25. ?>

Última edición por pzin; 07/08/2014 a las 22:50 Razón: formato código
  #2 (permalink)  
Antiguo 07/08/2014, 09:06
Avatar de Benderzuelo  
Fecha de Ingreso: mayo-2013
Ubicación: España
Mensajes: 223
Antigüedad: 10 años, 11 meses
Puntos: 5
Respuesta: Correo en Blanco formulario contacto

Cita:
Iniciado por hidalgotecnicos Ver Mensaje
Código PHP:
Ver original
  1. mail("Momarruecos <[email protected]>", $asunto, $mensaje, $encabezados);


has probado a poner solo el mail?
Código PHP:
Ver original
  1. mail('[email protected]', $asunto, $mensaje, $encabezado);

Saludos
  #3 (permalink)  
Antiguo 07/08/2014, 09:31
 
Fecha de Ingreso: agosto-2014
Mensajes: 4
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Correo en Blanco formulario contacto

acabo de probarlo ahora mismo y tambien me sigue llegando vacio el correo... lo unico que ha cambiado ha sido el remitente. ahora ha quedado asi:

Código PHP:
Ver original
  1. <?php
  2. //var_dump($_POST);
  3.  
  4.  
  5.  
  6. ini_set("SMTP","mail.e7kw4n-184308.webfusion-hosting.es" );
  7. ini_set("smtp_port","25" );
  8. ini_set('sendmail_from', 'mail.e7kw4n-184308.webfusion-hosting.es');
  9.  
  10. $encabezados = 'MIME-Version: 1.0' . "\r\n";
  11. $encabezados .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  12. $encabezados .= 'From: ' . $_POST['Email'] . "\r\n";
  13. //$encabezados .= 'To: Momarruecos <[email protected]>' . "\r\n";
  14. $encabezados .= 'X-Mailer: PHP/' . phpversion();
  15.  
  16. $asunto = 'Reserva formulario Momarruecos';
  17. $mensaje = "";
  18. foreach($_POST as $k => $v) {
  19.     $mensaje .= $k . ': '. $v . '<br>';
  20. }
  21. //echo $mensaje;
  22. mail('[email protected]', $asunto, $mensaje, $encabezado);
  23.  
  24.  
  25. ?>

Última edición por pzin; 07/08/2014 a las 22:50 Razón: formato código
  #4 (permalink)  
Antiguo 07/08/2014, 09:45
Avatar de Benderzuelo  
Fecha de Ingreso: mayo-2013
Ubicación: España
Mensajes: 223
Antigüedad: 10 años, 11 meses
Puntos: 5
Respuesta: Correo en Blanco formulario contacto

Claro perdona, no había leído bien, llegar te llega pero vacío, entonces el problema es que no recuperas bien las variables.

en vez de hacerlo así "que debería funcionar", hazlo a mano o sea:

Código PHP:
Ver original
  1. $nombre = $_POST['nombre']; // etc...

lo de ini_set, yo nunca lo he usado con la función mail, quítalo y prueba otra vez, al menos yo no lo uso y me va bien. cuando he usado un plug si que le especifico los puertos y tal pero asi no me ha hecho falta nunca.
  #5 (permalink)  
Antiguo 08/08/2014, 02:54
 
Fecha de Ingreso: agosto-2014
Mensajes: 4
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Correo en Blanco formulario contacto

ya he quitado lo de ini_set y me sigue llegando en blanco... asi que lo dejo quitado porque al parecer no sirve de nada. y lo otro lo de hacerlo a mano no se muy bien en que líneas te refieres que lo cambie. Muchas gracias por ayudarme

<?php
//var_dump($_POST);



$encabezados = 'MIME-Version: 1.0' . "\r\n";
$encabezados .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$encabezados .= 'From: ' . $_POST['Email'] . "\r\n";
//$encabezados .= 'To: Momarruecos <[email protected]>' . "\r\n";
$encabezados .= 'X-Mailer: PHP/' . phpversion();

$asunto = 'Reserva formulario Momarruecos';
$mensaje = "";
foreach($_POST as $k => $v) {
$mensaje .= $k . ': '. $v . '<br>';
}
//echo $mensaje;
mail('[email protected]', $asunto, $mensaje, $encabezado);


?>
  #6 (permalink)  
Antiguo 08/08/2014, 03:11
Avatar de Benderzuelo  
Fecha de Ingreso: mayo-2013
Ubicación: España
Mensajes: 223
Antigüedad: 10 años, 11 meses
Puntos: 5
Respuesta: Correo en Blanco formulario contacto

Se quedaría así:

Código PHP:
Ver original
  1. $encabezados = 'MIME-Version: 1.0' . "\r\n";
  2.  $encabezados .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  3.  $encabezados .= 'From: ' . $_POST['Email'] . "\r\n";
  4.  //$encabezados .= 'To: Momarruecos <[email protected]>' . "\r\n";
  5.  $encabezados .= 'X-Mailer: PHP/' . phpversion();
  6.  
  7.  $asunto = 'Reserva formulario Momarruecos';
  8.  //NO SE QUE NOMBRES DE CAMPOS TIENES PERO CAMBIA Y AÑADE A TU ANTOJO
  9.  $nombre = $_POST['nombre'];
  10.  $email = $_POST['email'];
  11.  $mensaje= $_POST['mensaje'];
  12.  // ASI CON TODOS LOS CAMPOS
  13.  $mensaje = 'Hola hidalgo, un usuario con el nombre:'.$nombre.' y con el email '.$email.' Te envía el siguiente mensaje '.$mensaje.' Un Saludo';
  14.  
  15.  mail('[email protected]', $asunto, $mensaje, $encabezado);

prueba esto a ver... aunque yate digo que usando el foreach también debería funcionar pero por si las moscas prueba así, lo malo es que tengas 300 campos jejejej
  #7 (permalink)  
Antiguo 08/08/2014, 03:38
 
Fecha de Ingreso: enero-2011
Ubicación: Barcelona
Mensajes: 36
Antigüedad: 13 años, 3 meses
Puntos: 5
Respuesta: Correo en Blanco formulario contacto

Hola hidalgotecnicos,

Si te da problemas el email siempre puedes probar a implementar alguna librería, como por ejemplo phpMailer, yo he usado esa y es muy potente, te permite muchas opciones de configuración.
La única pega de esta librería es que la documentación oficial a mi personalmente no me gusta nada… pero buscando algún ejemplo en internet es fácil de utilizar.

Saludos, Alex.

Etiquetas: blanco, contacto, correo, formulario, html, todo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:51.