Autor Tema: parece que envia pero no llega (formulario php) (SOLUCIONADO)  (Leído 47060 veces)

Desconectado akil3s

  • Junior Member
  • **
  • Mensajes: 17
  • http://1gbdeinformacion.blogspot.com.es/
    • 1Giga de Informacion
parece que envia pero no llega (formulario php) (SOLUCIONADO)
« en: 04 de Junio de 2012, 02:26:46 pm »
Hola foreros.

Tengo un problema con una web que estoy modificando para una amiga (es una plantilla gratuita). El caso es que tengo un problema para que me funcione el tipico formulario. Esta escrito en PHP,p ero yo no tengo ni idea de este lenguaje, he mirado en varios sitios y por lo que veo deberia funcionar pero no lo hace. He conseguido que al dar a enviar me muestre el correo del que lo envia (para ver si ese paso esta correcto) pero luego el correo nunca llega a esa cuenta. Ademas tampoco me devuelve a la web con un mensaje de "correo enviado correctamente" o algo asi (se que esa parte la tengo que poner pero no se como hacerlo)

Espero haberme explicado bien.


Os dejo el codigo que tengo por si alguien ve el problema:

enviar.php

Código: [Seleccionar]
<?php

$name 
$_POST["Nombre"]; 
$email $_POST["E-mail"]; 
$asunto $_POST["Asunto"]; 
$mensaje $_POST["Mensaje"]; 

$envio .="Name: "$name ."\n"
$envio .="E-Mail: ".$email"\n"
$envio .="Web: ".$web"\n"
$envio .="Comentario: "$comentario"\n"

$receptor "[email protected]"
$emisor $email;
$subject $asunto

$mailheaders $receptor;

echo 
$name;
echo 
$email;

mail($emisor$subject$mensaje$mailheaders);
echo (
"<a href='javascript:history.back(1)'>Regresar</a>")

?>



contact.html

Código: [Seleccionar]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Miss tijera</title>
<meta name="keywords" content="Black Fox, Contact Page, Free CSS Template, full-site, 5 pages, HTML" />
<meta name="description" content="Black Fox Contact Page - free CSS template from templatemo.com" />
<link href="css/templatemo_style.css" rel="stylesheet" type="text/css" />
<link href="css/jquery.ennui.contentslider.css" rel="stylesheet" type="text/css" media="screen,projection" />
<style type="text/css">
<!--
.Estilo2 {
font-size: 14;
font-weight: bold;
}
-->
</style>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</head>

<body>

<div id="Layer1" style="position:absolute; left:198px; top:63px; width:146px; height:111px; z-index:1"><a href="index.html"><img src="images/templatemo_logo.png" alt="logo" /></a></div>
<div id="templatemo_menu_wrapper">

    <div id="templatemo_menu">
   
        <ul>
            <li><a href="index.html">Home</a></li>
            <li></li>
            <li></li>
            <li></li>
            <li><a href="contact.html" class="current">Contacto</a></li>
        </ul>   
   
    </div> <!-- end of templatemo_menu -->
</div> <!-- end of menu wrapper -->

<div id="templatemo_header_wrapper">
  <div id="templatemo_header">
    <div id="site_title">
      <h1><a href="index.html">  </a></h1>
    </div>
    <div id="templatemo_slider">
      <div id="one" class="contentslider">
        <div class="cs_wrapper">
         
          <div class="cs_slider">
         
                <div class="cs_article">
                    <a href="http://www.templatemo.com/page/1" target="_parent">
                    <img src="images/slider/templatemo_slide02.jpg" alt="Project 1" /></a>
                </div>
               
                <div class="cs_article">
                    <a href="http://www.templatemo.com/page/2" target="_parent">
                    <img src="images/slider/templatemo_slide01.jpg" alt="Project 2" /></a>
                </div>
               
                <div class="cs_article">
                    <a href="http://www.templatemo.com/page/3" target="_parent">
                    <img src="images/slider/templatemo_slide03.jpg" alt="Project 3" /></a>
                </div>
               
                <div class="cs_article">
                    <a href="http://www.templatemo.com/page/4" target="_parent">
                    <img src="images/slider/templatemo_slide04.jpg" alt="Project 4" /></a>
                </div>
           
          </div>
          <!-- End cs_slider -->
         
        </div>
        <!-- End cs_wrapper -->
      </div>
      <!-- End contentslider -->
      <!-- Site JavaScript -->
      <script type="text/javascript" src="js/jquery-1.3.1.min.js"></script>
      <script type="text/javascript" src="js/jquery.easing.1.3.js"></script>
      <script type="text/javascript" src="js/jquery.ennui.contentslider.js"></script>
      <script type="text/javascript">
                $(function() {
                $('#one').ContentSlider({
                width : '430px',
                height : '200px',
                speed : 600,
                easing : 'easeInOutQuart'
                });
                });
            </script>
      <script src="js/jquery.chili-2.2.js" type="text/javascript"></script>
      <script src="js/chili/recipes.js" type="text/javascript"></script>
      <div class="cleaner"></div>
    </div>
    <!-- end of templatemo_slider -->
  </div>
  <!-- header -->

</div>
<!-- end header wrapper -->


<div id="templatemo_content_wrapper">
<div id="templatemo_content">
   
         <h1>Contacto</h1>
<div class="two_column float_l">
           
            <div id="contact_form">

<p>Si necesitas ponerte en contacto con nosotros sobre cualquier duda, consulta o mejora, pudes hacerlo desde este formaulario.<br />
  Ser&aacute;s atendido a la mayor brevedad posible. </p>
<p>&nbsp;</p>
<h3> Formulario de contacto</h3>
           
               
<form name='formulario' id='formulario' method='post' action='enviar.php'>

                  <p>Nombre:
                    <input type='text' name='Nombre' id='Nombre'>
                    </br>
</p>
                  <p>E- mail :   
                    <input type='text' name='E-mail' id='E-mail'>
                    </br>
</p>
                  <p>Asunto :
                    <input type='text' name='Asunto' id='Asunto'>
                    </br>
</p>
                  <p>Mensaje
                    <textarea name="Mensaje" id="Mensaje" ></textarea>
                    </br>
                    </br>

                    <input type='submit' value='Enviar Formulario'>
                    <input type='reset' value='Reiniciar Formulario'>
                                                                        </p>
</form>




            </div>
               
            </div>
           
            <div class="two_column float_r">
           
<p>Aqu&iacute; tienes nuestra direcci&oacute;n, horario y nùmeros de telefono de contacto para esatar a tu total disposici&oacute;n.</p>
<p>&nbsp;</p>
<div class="two_column float_r">
           
            <h6>Direcci&oacute;n:</h6>
                <span class="Estilo2">C/ Jaime I el conquistador
                </span>
                <div class="cleaner_h40 Estilo2">22 Posterior </div>
           
        <h6>Horario:</h6>
                <h6>Lun - Vie: 10:00 - 14:00<br />
  Lun - Vie: 15:30 - 19:30 <br />
  Sab: 9:00 - 14:00 </h6>
                <div class="cleaner_h40"></div>
           
                <h6>Tel&eacute;fono de contacto: </h6>
                <p>91.128.17.25 <br />
  647.571.271</p>
                <p>MAPA <br />
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.es/maps/ms?msid=211678978825118820288.0004bbaf052d88862f014&amp;msa=0&amp;hl=es&amp;ie=UTF8&amp;ll=40.234874,-3.763408&amp;spn=0.000111,0.000019&amp;t=h&amp;output=embed"></iframe><br /><small>Ver <a href="http://maps.google.es/maps/ms?msid=211678978825118820288.0004bbaf052d88862f014&amp;msa=0&amp;hl=es&amp;ie=UTF8&amp;ll=40.234874,-3.763408&amp;spn=0.000111,0.000019&amp;t=h&amp;source=embed" style="color:#0000FF;text-align:left">Calle de Jaime I 'El Conquistador', 22</a> en un mapa más grande</small>
                </p>
</div>
            </div>
   
    <div class="cleaner"></div>
</div> <!-- end of content -->
</div> <!-- end of content_wrapper -->

<div id="templatemo_footer_wrapper">
<div id="templatemo_footer">
   
    <div class="footer_box">
       
            <div class="footer_menu">
           
              <h3>Miss Tijera </h3>
   
                <img src="images/templatemo_image_04.jpg" alt="image" />
                <p>Miss Tijera, tu peluqueria en Parla.</p>
               
                <div class="button"><a href="#"></a></div>
          </div>
           
        </div>
       
        <div class="footer_box">
       
            <div class="footer_menu">
           
                <h3>Navegaci&oacute;n</h3>
   
                <ul class="footer_menu">
                    <li><a href="index.html">Home</a></li>
                    <li><a href="contact.html">Contacto</a></li>
                </ul>
               
            </div>
</div>
   
    <div class="cleaner"></div>
    </div> <!-- end of footer -->
</div> <!-- end of footer wrapper -->   

<div id="templatemo_copyright_wrapper">
<div id="templatemo_copyright">
   
Copyright © 2012 <a href="http://www.misstijera.com">Miss Tijera </a>|
        akil3s</div> </div> <!-- end of templatemo_copyright -->
</div> <!-- end of copyright wrapper -->

</body>
</html>

Gracias por anticipado.
Desencriptando la vida.

Desconectado shicefgo

  • Member
  • ***
  • Mensajes: 166
Re:parece que envia pero no llega (formulario php)
« Respuesta #1 en: 04 de Junio de 2012, 04:36:18 pm »
Hola.
De momento veo que el primer parámetro de la función mail() debe ser el receptor del correo, y parece que el que tiene es la cadena 'E-mail'. Es decir, prueba con:

Código: [Seleccionar]
mail($receptor, $asunto, $mensaje);
Un saludo.

Desconectado akil3s

  • Junior Member
  • **
  • Mensajes: 17
  • http://1gbdeinformacion.blogspot.com.es/
    • 1Giga de Informacion
Re:parece que envia pero no llega (formulario php)
« Respuesta #2 en: 04 de Junio de 2012, 04:43:23 pm »
No se si te entiendo bien, (disculpa mi ignoracia, pero no se nada de nada de php  :danae:)

quieres decir que en la linea 
Código: [Seleccionar]
mail($emisor, $subject, $mensaje, $mailheaders); debo cambiar donde pone $emisor por
Código: [Seleccionar]
mail($receptor, $asunto, $mensaje);
Siento ser tan torpe, pero es que no me entero de nada :(. Esto me pasa por querer ayudar...

Gracias shicefgo
Desencriptando la vida.

Desconectado akil3s

  • Junior Member
  • **
  • Mensajes: 17
  • http://1gbdeinformacion.blogspot.com.es/
    • 1Giga de Informacion
Re:parece que envia pero no llega (formulario php)
« Respuesta #3 en: 04 de Junio de 2012, 04:49:21 pm »
Ya me respondo yo solo jsjsjsjs efectivamente cambiando eso ya llega  ;-) lo unico que llega como no deseado (supongo que sera lo normal) y no me devuelve ni a la pagina del formulario ni un mensaje de "enviado correctamente". Eso se podria hacer??

Gracias por tu ayuda!!!
Desencriptando la vida.

Desconectado shicefgo

  • Member
  • ***
  • Mensajes: 166
Re:parece que envia pero no llega (formulario php)
« Respuesta #4 en: 04 de Junio de 2012, 06:22:32 pm »
Tal vez llegue como no deseado debido a la dirección que se utilice como remitente.

Sí, se puede mostrar un mensaje después del correo.

La función mail() devuelve un valor de tipo bool (= que sólo puede ser verdadero o falso).
Si el valor devuelto es verdadero (true) el correo habrá sido aceptado para su envío, sin que eso signifique necesariamente que haya llegado a su destino. Si el valor devuelto es falso (false) significa que el correo ha sido rechazado.

Puedes preparar un archivo para el caso de que el correo haya sido aceptado y otro para lo contrario (o utilizar alguno que ya tengas) y añade un código parecido al siguiente justo después de la llamada a mail() (llamemos a los archivos "correo_aceptado.php" y "correo_rechazado.php" por ejemplo):

Código: [Seleccionar]
if ($mail($receptor, $asunto, $mensaje)) {
    include('correo_aceptado.php');
}
else {
    include('correo_rechazado.php');
}

Los archivos correo_aceptado.php y correo_rechazado.php (o cualquiera otros que decidas usar) tienen que estar en la misma carpeta que el archivo donde esté la función mail() que envía el correo.

Todo esto se puede hacer algo más sofisticado, de hecho yo he construido algún que otro formulario de envío de e-mails con phpmailer y utilizando algo de javascript para comprobaciones.

Saludos.

Desconectado akil3s

  • Junior Member
  • **
  • Mensajes: 17
  • http://1gbdeinformacion.blogspot.com.es/
    • 1Giga de Informacion
Re:parece que envia pero no llega (formulario php)
« Respuesta #5 en: 04 de Junio de 2012, 06:53:32 pm »
Muchisimas gracias!!!
Eres un crack shicefgo. A ver si soy capaz de hacerlo solo jejeje al final me va a picar el gusanillo con esto del PHP jsjsjsjs :)

PD: esto es lo que me llega al correo, creo que tienes razon, entra como spam por la direccion de correo del remitente.

Desencriptando la vida.

Desconectado shicefgo

  • Member
  • ***
  • Mensajes: 166
Re:parece que envia pero no llega (formulario php)
« Respuesta #6 en: 04 de Junio de 2012, 07:30:58 pm »
He cometido un error en el anterior post: No debes añadir ese código justo después de llamar a mail(), sino sustituir la llamada a mail por el código para que no se envíe dos veces.

Puedes añadir un cuarto parámetro para el remitente. Algo así:

Código: [Seleccionar]
$remitente = "[email protected]";

if ($mail($receptor, $asunto, $mensaje, "From: &remitente")) {
    include('correo_aceptado.php');
}
else {
    include('correo_rechazado.php');
}

Pues nada, a darle al php :).

Desconectado akil3s

  • Junior Member
  • **
  • Mensajes: 17
  • http://1gbdeinformacion.blogspot.com.es/
    • 1Giga de Informacion
Re:parece que envia pero no llega (formulario php)
« Respuesta #7 en: 04 de Junio de 2012, 07:34:54 pm »
jejejeje gracias!!
Ahora toy liado con la instalacion de Debian que me aconsejo el maestro Dabo :D a ver si busco algun curso...
Desencriptando la vida.

Desconectado Dabo

  • Administrator
  • *
  • Mensajes: 15348
    • https://www.daboblog.com
Re:parece que envia pero no llega (formulario php)
« Respuesta #8 en: 04 de Junio de 2012, 11:53:55 pm »
Alegrándome, Shicefgo estás hecho un máquina ! thx por la ayuda ;)
Hacking, computing, are in my blood, are a part of me, a part of my life...Debian GNU/Linux rules.

Twitter; https://twitter.com/daboblog
Instagram: @daboblog


www.daboblog.com | www.debianhackers.net | www.caborian.com | www.apachectl.com | www.davidhernandez

Desconectado akil3s

  • Junior Member
  • **
  • Mensajes: 17
  • http://1gbdeinformacion.blogspot.com.es/
    • 1Giga de Informacion
Re:parece que envia pero no llega (formulario php)
« Respuesta #9 en: 05 de Junio de 2012, 12:03:53 am »
Gracias a los dos!!
Gran foro Dabo, ya me dirás de donde sacas el tiempo para todo ;)
Desencriptando la vida.

 

Aviso Legal | Política de Privacidad | Política de Cookies

el contenido de la web se rige bajo licencia
Creative Commons License