12 Último

Codigo para enviar un formulario con un adjunto

      • 110
      • mensajes
      • miembro desde
      • 14/03/07
    02/09/2007
    #1 Codigo para enviar un formulario con un adjunto

    Codigo para enviar un formulario con un adjunto, y funciona perfecto.


    Copio y Pego el codigo y html y el segundo codigo que utiliza en php.
    Aclaro como funciona por si alguien lo necesita:
    Esto lo puse en un archivo htm y lo llame formulario:


    Nombre


    Apellidos



    E-mail


    Adjuntar archivo:









    Lo que esta mas abajo lo puse en un archivo php y lo llame (tiene que llamarse si o si): mail_adjuntos.php :

    Esto lo puse en un archivo php y lo llame: mail_adjuntos.php :

    function form_mail($sPara, $sAsunto, $sTexto, $sDe)
    {
    $bHayFicheros = 0;
    $sCabeceraTexto = "";
    $sAdjuntos = "";
    if ($sDe)$sCabeceras = "From:".$sDe."\n";
    else $sCabeceras = "";
    $sCabeceras .= "MIME-version: 1.0\n";
    foreach ($_POST as $sNombre => $sValor)
    $sTexto = $sTexto."\n".$sNombre." = ".$sValor;
    foreach ($_FILES as $vAdjunto)
    {
    if ($bHayFicheros == 0)
    {
    $bHayFicheros = 1;
    $sCabeceras .= "Content-type: multipart/mixed;";
    $sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n";
    $sCabeceraTexto = "----_Separador-de-mensajes_--\n";
    $sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n";
    $sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n";
    $sTexto = $sCabeceraTexto.$sTexto;
    }
    if ($vAdjunto["size"] > 0)
    {
    $sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n";
    $sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";;
    $sAdjuntos .= "Content-Transfer-Encoding: BASE64\n";
    $sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";
    $oFichero = fopen($vAdjunto["tmp_name"], 'r');
    $sContenido = fread($oFichero, filesize($vAdjunto["tmp_name"]));
    $sAdjuntos .= chunk_split(base64_encode($sContenido));
    fclose($oFichero);
    }
    }
    if ($bHayFicheros)
    $sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n";
    return(mail($sPara, $sAsunto, $sTexto, $sCabeceras));
    }
    //Ejemplo de como usar:
    if (form_mail("mail_de_destino@hotmail.com","Asunto del mensaje",
    "Los datos introducidos en el formulario son:\n\n", "mail_de_origen@mail.com"))
    echo "Su formulario ha sido enviado con exito";
    ?>

    Termino un renglon arriba el codigo php. Solo tienen que reemplazar mail_de_destino@hotmail.com por un mail de ustedes a donde llegara todo el formulario con el adjunto.
    En: Asunto del mensaje, ponen como quieren que figure el asunto:
    Y por ultimo: mail_de_origen@mail.com, aca ponen otra direccion de mail que tengan ustedes, esta haria una funcion como de ser la cuenta desde donde se estaria enviando el formulario, (no tiene nada que ver con la dire que despues coloque el usuario en el formulario, la del formulario funcionando es una cuenta que cada usuario quiera colocar).
    Ej tengo la cuenta 123@yahoo.com y 123@hotmail.com las dos son mias y una la coloco reemplazando en donde dice: mail_de_destino@hotmail.com y la otro en donde dice: mail_de_origen@mail.com
    Quedaria: mail_de_destino@hotmail.com reemplazo por: 123@yahoo.com aca es donde quiero que lleguen el formulario y el adjunto.
    mail_de_origen@mail.com reemplazo por: 123@hotmail.com por ej.
    Espero a alguien le sirva la explicacion.
    Saludos
    Un abrazo.


    __________________________________________________ _________________________
    http://Altayagoo.com super buscador tematico autos automoviles automotores audiocar talleres repuestos

  1. ¿Este tema te pareció interesante? Compártelo!

    ¿No es lo que buscabas? Intenta buscar un tema similar

    13 comentarios / 47435 Visitas

      • 2,094
      • mensajes
      • miembro desde
      • 28/10/03
    04/09/2007
    #2 Re: Codigo para enviar un formulario con un adjunto

    Buenisimo el aporte muchas gracias! 5 naranjas cuadradas

      • 110
      • mensajes
      • miembro desde
      • 04/01/07
    09/09/2007
    #3 Re: Codigo para enviar un formulario con un adjunto

    Muy ien el ejemplo, sin embargo se e hace más efectivo usar la clase PHPMailer. Aqui dejo un enlace donde se explica muy bien el funcionamiento de esta clase: http://www.programacion.net/php/articulo/phpmailer/

      • 2,094
      • mensajes
      • miembro desde
      • 28/10/03
    10/09/2007
    #4 Re: Codigo para enviar un formulario con un adjunto

    En realidad PHPMailer hace lo mismo que él :nosure: por lo menos es lo que vi yo...

    La diferencia es justamente que es una clase...

      • 47
      • mensajes
      • miembro desde
      • 10/09/07
    10/09/2007
    #5 Re: Codigo para enviar un formulario con un adjunto

    Genial!!! anduvo perfecto!! ya lo probe... muchisimas gracias!!

      • 47
      • mensajes
      • miembro desde
      • 10/09/07
    11/09/2007
    #6 Re: Codigo para enviar un formulario con un adjunto

    HOLA ayer probe el codigo y funciona muy bien pero si quiero que el texto sea un html no me deja... me sale todo mal... me puede ayudar alguien??

      • 110
      • mensajes
      • miembro desde
      • 14/03/07
    14/10/2007
    #7 Re: Codigo para enviar un formulario con un adjunto

    Hola lara82 que parte del html no podes cambiar, podes pegar todo el html que tenes y decirnos que parte queres cambiar y no podes?
    Espero que entre todos podamos ayudarte, si podes separa y pone primero todo el html y despues pone aparte la parte que estas tratando de cambiar y no podes, asi entre todos lo vemos y tratamos de ayudarte.
    Saludos



    __________________________________________________ _________________________
    http://Altayagoo.com super buscador tematico chistes bromas cuentos para chicos novelas

      • 10
      • mensajes
      • miembro desde
      • 09/06/07
    30/10/2007
    #8 Re: Codigo para enviar un formulario con un adjunto

    Muy buena la función prensavoces, anda perfecto.



    __________________________________________________ _________________________
    http://Altayagoo.com super buscador tematico chistes bromas cuentos para chicos novelas[/quote]

      • 68
      • mensajes
      • miembro desde
      • 23/06/04
    08/11/2007
    #9 Re: Codigo para enviar un formulario con un adjunto

    Hola.. yo lo probe y no me envia el adjunto y no me envia los datos del formulario
    solo me llega el email vacio..
    copie tal cual esta y cambie las direcciones de correo..
    Espero me ayuden
    gracias

      • 2
      • mensajes
      • miembro desde
      • 06/12/07
    06/12/2007
    #10 Re: Codigo para enviar un formulario con un adjunto

    Lo primero saludo a todos.
    He probado el codigo y me funciona perfectamente despues de realizar las modificaciones pertinentes al aspecto general del formulario.
    El problema me ha venido al intentar enviar ficheros grandes, al intentar enviar ficheros de entre 3 y 5 MB da la respuesta de enviado con exito, recibo el correo en la cuenta, pero el adjunto no viene. Con ficheros pequeños no hay ningun problema.
    Alguna idea para un torpe cronico en esta materia.
    Saludos Brezo.

12 Último