1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

envio de mail, con php

Tema en 'Programación y Diseño Web' iniciado por Atrasadita, 4 Dic 2006.

  1. santiago2811

    santiago2811 Nuevo usuario

    Hola, probe el envio de mail, pero me sale el error :

    <b>Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in </b>

    COnfigure el php.ini asi:

    smtp: smtp.gmail.com
    smtp_port:465

    pero se queda cargando años y no hace nada

    y con :

    smtp:localhost

    me tira el error de arriba....

    Saben si hay alguna probar si anda asi con los mails de gmail o hotmail? y cuando la suba al hosting que mail tengo que usar?

    gracias y saludos
     
  2. elQuique

    elQuique Usuario activo

    Para probarlo en tu pc debes tener un servidor de email. Una vez en el server yo no uso smtp lo envio normalito solo usando mail().
     
  3. santiago2811

    santiago2811 Nuevo usuario

    ... o sea que en el server puedo usar cualquier mail (gmail, hotmail...)?....es mucho lio configurar un servidor de mail?
     
  4. plumi

    plumi Nuevo usuario

    Hola! tengo un formulario y quiero que cuando el usuario presione enviar, le aparezca una página ejemplo.html cúal sería el código para sustituir el 'echo'?
    Gracias!!!
     
  5. marcus aurelio

    marcus aurelio Nuevo usuario

    si la pagina es ejemplo.html, ni el echo ni ningun otro codigo php te va a funcionar... ya que para eso tendria que ser ejemplo.php. si cambias la extension podras usarla con echo sin problemas y en el navegador se comportara como un html normal... yo te recomiendo que no te compliques
     
  6. elQuique

    elQuique Usuario activo

    Lo otro que puedes hacer es en el send.php que si o si debe ser PHP porque sin este lenguaje no envías, es sustituir el:

    echo "Mensaje enviado"

    por

    header('Location: ejemplo.html');

    eso lo que hace es una redirección automática, el efecto que el usuario logra ver es tan rápido que parecerá que paso del formulario al ejemplo.html directo.


    pd: sorry no vi el mensaje antes.
     
  7. plumi

    plumi Nuevo usuario

    Mi send es php y lo que me respondes quique es exactamente lo que estaba buscando, gracias ahora lo pruebo

    10 puntos! gracias a ambos
     
  8. elQuique

    elQuique Usuario activo

    Me alegro que te sirva :)
     
  9. marcus aurelio

    marcus aurelio Nuevo usuario

    y el quieque es asi.... todo loque escribe sirve.... jejej saludos
     
  10. martuce8976

    martuce8976 Nuevo usuario

    Hola Quique, con tus consejo me ha funcionado perfectametne el formulario. bueno y como simpre hay que seguir aprendiendo y mejorando aqui van mis inquietudes.
    Para saber porque medio accedieron a mi web he colocado un nuevo dato que es una pregunta ¿A través de que medio conoció nuestra pagina web?:
    Lo hice básico por ahora pero al incluir este nuevo dato en el send.php me da un error de sintaxis en la siguiente línea
    $header = 'From: ' .$correo. " \r\n";
    me dice de un error ASCII=92 debe referirse a la barra invertida. estube toda la tarde revisando y no pude solucionarlo como tambien que no me muestra el mensaje echo, entonces use otro de tus consejos para redireccionarlo con
    header('Location: confirmacion.html');
    y tampoco me funciona me muestra la pagina en blanco, los mensajes llegan al correo predetermiando del formulario.
    este es el código:
    <?php

    $nombre = $_POST['nombre'];
    $correo = $_POST['correo'];
    $pais = $_POST['pais'];
    $pregunta = $_POST['pregunta']
    $header = 'From: ' .$correo. " \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 . ", desde " . $pais . " . pregunta ."\r\n";
    $mensaje .= "Su e-mail es: " . $correo . " \r\n";
    $mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
    $mensaje .= "Enviado el " . date('d/m/Y', time());

    $para = 'info@roblebarmendoza.com.ar';
    $asunto = 'Mensaje o Comentario desde Sito Web';

    mail($para, $asunto, utf8_decode($mensaje), $header);

    header('Location: confirmacion.html');


    ?>
    <html/>

    Cual es mi error y como lo puedo arreglar. Un abrazo.
     
  11. elQuique

    elQuique Usuario activo

    Agrégale el ; que te falta en la linea anterior al header y listo :) se soluciona, recuerda que todas las lineas terminan en ;
     
  12. martuce8976

    martuce8976 Nuevo usuario

    Hola quique te agradezco tu respuesta he estado esperandola, hice lo que me indicas pero no funciona me da el siguiente error:

    Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home/roblebar/public_html/send_.php on line 16

    Parse error: syntax error, unexpected T_STRING in /home/roblebar/public_html/send_.php on line 16

    la línea a la cual se refier el error es esta:

    $mensaje = "Este mensaje fue enviado por " . $nombre . ", desde " . $pais . " <!--coloro:#FFFFCC--><span style="color:#FFFFCC"><!--/coloro-->. pregunta ."<!--colorc--></span><!--/colorc-->\r\n";

    El error me lo da cuando le pongo en esta linea en nuevo dato que es la respuesta a la pregunta, cuando quito este dato el formulario es enviado aunque sique sin direccionar a la página deconfirmación.
     
  13. elQuique

    elQuique Usuario activo

    pues porque lo estas poniendo mal :), si es una variable es $pregunta, y si es un texto va entre comillas, es así:

    $mensaje = "Este mensaje fue enviado por " . $nombre . ", desde " . $pais . " " . $pregunta . "\r\n";

    o así:

    $mensaje = "Este mensaje fue enviado por " . $nombre . ", desde " . $pais . " pregunta \r\n";
     
  14. martuce8976

    martuce8976 Nuevo usuario

    Hola Quique, gracias por tu ayuda como no me di cuenta de eso, estaba con la cabeza en otra parte, ya funciona perfectamente la recepción sin enbargo no me redirecciona a la pagina de confirmación, al envirlo muestra la áfina en blanco, esto hace que los visitantes piensen que no se ha enviado el mendaje del formulario, vuleven hacia a tras y lo vuelven a enviar y por esto llegan a veces más de tres mensajes de la misma persona. Antes tenia el echo y pasaba lo mismo por eso lo cambie como lo recomendaste a otro miembro del foro al

    header('Location: confirmacion.html');

    poro no esta funcionando.
     
  15. elQuique

    elQuique Usuario activo

    seria bueno ver el código completo del php que envía y redirige, por las dudas fijate que escribiste bien el nombre de la pagina y que existe en la misma carpeta.
     
  16. Carxl

    Carxl Nuevo usuario

    <!--quoteo(post=192119:date=Feb 8 2007, 02:57 PM:name=elQuique)--><div class='quotetop'>CITA(elQuique @ Feb 8 2007, 02:57 PM) [snapback]192119[/snapback]</div><div class='quotemain'><!--quotec-->
    toma un papelito y toma nota unpapelito
    <!--QuoteEnd--></div><!--QuoteEEnd-->

    Jejeje :D :arriba:
     
  17. martuce8976

    martuce8976 Nuevo usuario

    <!--quoteo(post=246793:date=Sep 1 2007, 07:08 PM:name=elQuique)--><div class='quotetop'>CITA(elQuique @ Sep 1 2007, 07:08 PM) [snapback]246793[/snapback]</div><div class='quotemain'><!--quotec-->
    seria bueno ver el código completo del php que envía y redirige, por las dudas fijate que escribiste bien el nombre de la pagina y que existe en la misma carpeta.
    <!--QuoteEnd--></div><!--QuoteEEnd-->

    Hola, quique te paso el código.
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <style type="text/css">
    <?php

    $nombre = $_POST['nombre'];
    $correo = $_POST['correo'];
    $pais = $_POST['pais'];
    $pregunta = $_POST['pregunta'];

    $header = 'From: ' .$correo. " \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 . ", desde " . $pais . ", nos encontro por medio de: " . $pregunta . " \r\n";
    $mensaje .= "Su e-mail es: " . $correo . " \r\n";
    $mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
    $mensaje .= "Enviado el " . date('d/m/Y', time());

    $para = 'info@roblebarmendoza.com.ar';
    $asunto = 'Mensaje desde Sito Web';

    mail($para, $asunto, utf8_decode($mensaje), $header);

    header('Location: confirmacion.htm');


    ?>
    <html/>
     
  18. elQuique

    elQuique Usuario activo

    1) deja solo lo de <?php a ?> quita el resto del html.

    2) verifica que el archivo destino realmente se llame confirmacion.htm
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·