ayuda con PHP MAIL me llega vacío

Iniciado por fumador33, 6 Enero 2015, 22:13 PM

0 Miembros y 1 Visitante están viendo este tema.

fumador33

ESTIMADOS, tengo un problema, soy diseñador, no programador, y llevo varios días peleando con este formulario, finalmente me llega mail al correo, pero me llega vacío

en un html, está esto
Código (html4strict) [Seleccionar]
<FORM action="http://xn--cabaaenlosdiques-9tb.com/enviar.php" method="post" enctype="multipart/form-data" name="contacto" target="_top">
<span class="color">Nombre y Apellido:</span>
<input name="Nombre y Apellido" type="text" id="Nombre y Apellido" size="35" />
     
     <p>Teléfono:
       <label for="teléfono"></label>
       <input name="teléfono" type="text" id="teléfono" size="35" />
     </p>
     <p>E-mail:
       <label for="email"></label>
       <input name="email" type="text" id="email" size="35" />
     </p>
     <p>Consulta:
       <label for="consulta"></label>
       <textarea name="consulta" cols="30" id="consulta"></textarea>
     </p>
    <br />
    <input name="Enviar" type="submit" class="style24" id="Enviar" onClick="return Enviar(this.form)" value="Enviar">
    <input type="reset" name="restablecer" id="restablecer" value="Restablecer" />
  </form>



y en ENVIAR.PHP lo siguiente

Código (php) [Seleccionar]
<?
echo "aprender";
$MailToAddress = "info@xn--cabaaenlosdiques-9tb.com";
$MailSubject = "consultas desde la web";
   if (!$MailFromAddress) {
   $MailFromAddress = "info@xn--cabaaenlosdiques-9tb.com";
   }

$Header = "contacto";
$Footer = "";

   //if (!is_array($HTTP_POST_VARS))
   //return;
   reset($HTTP_POST_VARS);
   while(list($key, $val) = each($HTTP_POST_VARS)) {
   $GLOBALS[$key] = $val;
   $val=stripslashes($val);
   $Message .= "$key = $val\n";
   }

   if ($Header) {
   $Message = $Header."\n\n".$Message."\n\n";
   }

   $Message .= "REMOTE HOST: ".$REMOTE_HOST."\n";
   $Message .= "REMOTE USER: ". $REMOTE_USER."\n";
   $Message .= "REMOTE ADDR: ". $REMOTE_ADDR."\n";

   if ($Footer) {
   $Message .= "\n\n".$Footer;
   }

mail( "$MailToAddress", "$MailSubject", "$Message", "From: $MailFromAddress");
header ("Location: http://xn--cabaaenlosdiques-9tb.com/contacto.html");
?>


NECESITO DESESPERADAMENTE AYUDA, el mail llega vacío y además no se como una vez que envíe vuelva al formulario o a un HTML con el mensaje CONSULTA ENVIADA

agradecería mucho que me ayuden

saludos!

Shell Root

Primero que todo formatear bien el código y meterlo dentro de la etiqueta correspondiente,
Código (php) [Seleccionar]
<?
  echo "aprender";
  $MailToAddress = "info@xn--cabaaenlosdiques-9tb.com";
  $MailSubject = "consultas desde la web";

  if (!$MailFromAddress) {
     $MailFromAddress = "info@xn--cabaaenlosdiques-9tb.com";
  }

  $Header = "contacto";
  $Footer = "";

  reset($HTTP_POST_VARS);
  while(list($key, $val) = each($HTTP_POST_VARS))
  {
     $GLOBALS[$key] = $val;
     $val = stripslashes($val);
     $Message .= "$key = $val\n";
  }

  if ($Header) {
     $Message = $Header."\n\n".$Message."\n\n";
  }

  $Message .= "REMOTE HOST: ".$REMOTE_HOST."\n";
  $Message .= "REMOTE USER: ".$REMOTE_USER."\n";
  $Message .= "REMOTE ADDR: ".$REMOTE_ADDR."\n";

  if ($Footer){
     $Message .= "\n\n".$Footer;
  }

  mail( "$MailToAddress", "$MailSubject", "$Message", "From: $MailFromAddress");
?>


Por otro lado, antes de enviar el email deberías de imprimir la variable de $Message para ver que contenido tiene! Para este caso sería,
Código (php,7) [Seleccionar]
# --- TODO EL MISMO CÓDIGO DE ARRIBA ---

  if ($Footer){
     $Message .= "\n\n".$Footer;
  }

  echo $Message;
  #mail( "$MailToAddress", "$MailSubject", "$Message", "From: $MailFromAddress");
?>
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

fumador33

#2
Estimado hice lo que me dijiste, pero ahora dejo de llegarme mail y no pasa más nada, perdona que molestes, es que para mi es muy complicado entenderlo, pasó que el hosting que usaba eliminó el servicio cgi y me complique con esto.

Saludos

[MOD] No se escribe en mayusculas en el Foro, leer Reglas.