Regresar a la página www.ComoCrearTuWeb.com
Resultados 1 al 10 de 10

Tema: Como enviar datos a un correo electronico.

  1. #1
    Me va gustando esto... Habitante
    Fecha de Ingreso
    26 jul, 13
    Mensajes
    116
    Poder de Reputación
    11

    Como enviar datos a un correo electronico.

    Buenas noches a todos:

    Seguramente este tema a salido mas de una vez, el caso es que tengo una pagina donde necesito crear un contacto. Tengo realizado varios formularios de varias maneras y mas, pero el problema con el que me encuentro es el siguiente: Creo un boton "enviar" para que el usuario envie los datos que a introducido, en este boton quiero colocar algun codigo (por javascript o php) donde al clicar los datos sean enviados a un correo electronico que declare dentro del propio codigo. Ademas de esto me gustaria saber como introducir un captcha para prevenir que algun robot o servidor se quede mandado mensajes.

    ¿Como puedo hacer esto?

    P.D: ya e mirado varios codigo por internet y ninguno me ha funcionado.

    Muchas gracias de antemano

  2. #2
    Me va gustando esto... Habitante
    Fecha de Ingreso
    26 jul, 13
    Mensajes
    116
    Poder de Reputación
    11
    Buenas a todos:

    Decir que después de intentar la página 1201 he logrado encontrar un código que funcoina. Mi problema ahora es el siguiente: donde coloco el destinatario, es decir, el correo electrónico de destino, si coloco mi correo de Google (alex222en@gmail.com) funciona y me envía el correo pero sin el mensaje que escribí en el formulario y tampoco me aparece el remitente. Sin embargo, si coloco mi correo de hotmail (alexysultan@live.com) no me envía ni siquiera el mensaje, quiero decir, según el código de PHP el mensaje fue enviado satisfactoriamente, pero no me llega nada, ni siquiera a la carpeta de correo no deseado.

    ¿Porque puede ser?

    Os dejo los código de html y PHP que estoy usando:

    HTML:

    Código HTML:
    <form action="envio.php" name="contacto">
        <p>Nome:</p> <p><input type="text" name="nombre" value="" size="20px" placeholder="Nome:"/></p>
        <p>Empresa:</p> <p><input type="text" name="empresa" value="" size="50px" placeholder="Empresa:"/></p>
        <p>E-Mail:</p> <p><input type="text" name="e-mail" value="" size="50px" placeholder="E-Mail:"/></p>
        <p>Mensage:</p> <p><input type="text" name="mensaje" value="" size="50px" placeholder="Mensage:"/></p>
        <p><input type="submit" name="envio" value="Enviar"/></p>
    </form>
    PHP:

    Código:
    <?php
    
    	$remitente = $_POST['e-mail']; // Convierte todos los datos del formulario de contacto a datos legibles para PHP ($_POST).
    
    	$destino = "alexysultan@live.com"; // Creamos una variable donde guardar el correo electronico de destino.
    
    	$asunto = "Gruas Copa Alquiler"; // Creamos una variable donde guardar el 'Asunto' que sera adjuntado al correo electronico.
    
    	$mensaje = $_POST['mensaje']; // Convertimos el mensaje a PHP.
    
    	$encabezados = "From: $remitente\nReply-To: $remitente\nContent-Type: text/html; charset=iso-8859-1" ; // No toque esta linea dado que no la entiendo
    
    	mail ($destino, $asunto, $mensaje, $encabezados);
    
    	if (mail ($destino, $asunto, $mensaje, $encabezados)){
    		echo "Seu mensaje foi enviado corretamente";
    	}
    	else {
    		echo "Sua mensagen não foi enviada. \nPor favor tente novamente.";
    	}
    
    ?>
    Última edición por alex222en; 11/02/2015 a las 14:08 Razón: Detalle que falto por poner.

  3. #3
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    25
    Hola!

    Puedo ver que no has usado el buscador del foro, puesto que esto se ha hablado varias veces :P. Diría que incluso se ha enseñado a usar una versión utilizando PHPMailer en lugar de mail, que muchos hosting no permiten.

    Sobre el problema, este está en el form: cuando no se especifica el atributo method (<form [method="[get|post|etc]"]>), el valor por defecto es get. Esto implica que el arreglo POST estará vacío.

    Saludos!

  4. #4
    Me va gustando esto... Habitante
    Fecha de Ingreso
    26 jul, 13
    Mensajes
    116
    Poder de Reputación
    11
    Es decir, mi formulario quedaria la apertura de la etiqueta con un 'method="get" ' . Solamente es eso? y la verdad es que de PHP no se casi nada, tengo base asi que toda la ayuda que me puedas dar para facilitar mi codigo te lo agradeceria.

  5. #5
    Me va gustando esto... Habitante
    Fecha de Ingreso
    26 jul, 13
    Mensajes
    116
    Poder de Reputación
    11
    Decir que he colocado el method="get" y sigue con los dos mismo problemas, me estoy informando sobre el PHPMailer cuando aprenda pruebo ý comento

  6. #6
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    25
    No dije eso :P...

    PHP, cuando recibe la información de un formulario, lo hace basándose en el método especificado por method. Si no se especifica este atributo, entonces el valor por defecto es get.

    Si se utiliza get, entonces en PHP debes utilizar el array $_GET, mientras que si utilizas post, el arreglo será $_POST. También existe el arreglo $_REQUEST, que contendrá todo lo que hay en $_POST, $_GET y $_COOKIE (si es que tienen algo).

    No te quiero dar la solución, porque quiero que aprendas y entiendas la diferencia :).

    Saludos!

  7. #7
    Me va gustando esto... Habitante
    Fecha de Ingreso
    26 jul, 13
    Mensajes
    116
    Poder de Reputación
    11
    Buenas de nuevo:

    La verdad que llevo todo el día dando vueltas al código y al final me dio por pegar de nuevo el código base que encontre en internet. Decir que el mensaje escrito ya aparece, el único problema que me resta el que la dirección de correo escrita en el formulario no es enviada. Creo que puede ser porque dentro del comando

  8. #8
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    25
    Claro, por eso es que no te llega el correo dentro del contenido :).

  9. #9
    Me va gustando esto... Habitante
    Fecha de Ingreso
    26 jul, 13
    Mensajes
    116
    Poder de Reputación
    11
    Muchas gracias por la ayuda, ya lo consegui hacer, lo que hice fue lo siguiente:

    Código:
    <?php
    
    	$nombre = $_POST ['nombre']; // Obtiene el valor dentro del ID nombre del formulario.
    
    	$email = $_POST ['email']; // Obtiene el valor dentro del ID email del formulario.
    	
    	$mensaje = $_POST ['mensaje']; // Obtiene el valor dentro del ID mensaje del formulario.
    
    	$empresa = $_POST ['empresa']; // Obtiene el valor dentro del ID empresa del formulario.
    	
    	$final = "$nombre \n $email \n $empresa \n $mensaje"; // Junta las variables anteriores en una sola con saltos de linea.
    	
    	$destinatario = 'alex222en@gmail.com'; // Aqui se indica en que e-mail recibir el mensaje.
    	
    	$asunto = "Contacto de Página"; // Asunto que se recibe en el e-mail.
    	
    	mail($destinatario, $asunto, $final, $encabezados) or die("Ocorreu um erro, sua mensagem nao foi enviada");
    	
    	echo "Sua mensagem foi enviada com suceso. Volte para a tela anterior";
    ?>
    El unico problema que me queda es poder implementarlo para cualquier correo electronico, me explico, al correo electronico que necesito enviarlo llega, pero si alguna vez quiero cambiar por ejemplo a un correo de hotmail, en ese caso no me llegaria. Ejemplo:

    Si pongo alex222en@gmail.com el mensaje me llega.

    Si pongo info@info.com el mensaje me llega.

    Si pongo benitocamela@hotmail.com no me llega.

    Si pongo " " " " "@yahoo.com no me llega.

    Eso es lo unico que me queda por solucionar.

  10. #10
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    25
    Eso se hace con los encabezados:

    Código PHP:
    $encabezados "From: $remitente\nReply-To: $remitente\nContent-Type: text/html; charset=iso-8859-1\n" ;
    // Añades otros remitentes ocultos (para que los destinatarios no los vean si es que les envías una copia a ellos).
    $encabezados .= "Bcc: info@info.com\n";
    $encabezados .= "Bcc: benitocamela@hotmail.com\n";
    // Etc. 

Temas Similares

  1. Problema al enviar correo electronico
    Por konka en el foro Foro General
    Respuestas: 2
    Último Mensaje: 25/08/2009, 19:22
  2. Como insertar correo electronico en mi web?
    Por frarodmart en el foro Posicionamiento de páginas web
    Respuestas: 2
    Último Mensaje: 07/02/2009, 13:38

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •