Forum Original-Design: Foro de tutoriales Dreamweaver y PSP

Forum Original-Design: Foro de tutoriales Dreamweaver y PSP (http://forum.original-design.es/index.php)
-   Tutoriales PHP y MySQL (http://forum.original-design.es/forumdisplay.php?f=10)
-   -   Codigo para enviar un formulario con un adjunto, funciona (http://forum.original-design.es/showthread.php?t=906)

marting_234 10-05-2007 06:16 PM

Codigo para enviar un formulario con un adjunto, funciona
 
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:



<form name='formulario' id='formulario' method='post' action='mail_adjuntos.php' target='_self' enctype="multipart/form-data">
<p>Nombre <input type='text' name='Nombre' id='Nombre'></p>
<p>Apellidos <input type='text' name='Apellidos' id='Apellidos'></p>
<p>

E-mail <input type='text' name='E-mail' id='E-mail'></p>

<p>Adjuntar archivo: <input type='file' name='archivo1' id='archivo1'></p>
<p>
<input type='submit' value='Enviar formulario'>
</p>
</form>






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 :


<?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.






__________________________________________________ _________________________
Tengo mi pagina en http://econohosting.com.ar hosting gratis sin publicidades
http://Altayagoo.com super buscador tematico software freeware software gratis software demo peliculas divx subtitulos peliculas tapas cd

wompygs 10-05-2007 06:28 PM

Muy bueno marting!!::bienn::::victoria::
Gracias por compartirlo con nosotros :D

LobitoStyle 11-09-2007 03:15 AM

bueno chevere gracias por el tuto pero la pregunta funca en cual kier hosting o solo en hostin pagado

LobitoStyle 11-09-2007 03:26 AM

ahi por lo visto k e probado no funca nose me sale esto ps ..

Warning: mail() has been disabled for security reasons in /home/virtual/sitio148152/www/enviar un formulario/mail_adjuntos.php on line 44

nose pork sera

LobitoStyle 11-09-2007 04:15 AM

no me funca nesecito de su ayuda

LobitoStyle 11-09-2007 04:21 AM

miren lo k sale aca les dejo el url intente enviar algo y veran k sale ps

http://reportandoselobitostyle.websp...rio/index.html

wompygs 11-09-2007 09:55 AM

pues... algo estaremos haciendo mal.. (es que no veo tu c√≥digo, por lo que no puedo decirte lo que esta mal), lo que esta claro es que es sobre la l√*nea 44 xD, repasa el c√≥digo, seguro que es algun ; o alguna tonteria. O mejor mira, en la web puse un tutorial explicando ese c√≥digo con un ejemplo ya ehco que funciona perfectamente

Enviar email con archivo adjunto
hazlo as√* a ver si te va
Un saludo

andrexyx 11-25-2009 05:09 PM

me funcciona de maravilla
 
De Ppp.Madre el script.... despues de aber buscando 2 dias me he encontrado esto y nada mas ponerlo "Voila" funcciona a la primera con 5 archivos seguidos........
Ahora, el problema que tengo es que alguien me ense√Īe modificarlo que no se pueda enviar nada mas que ".jpg" y que no sea mayor de 1 mega la foto o 5 mega el total del adjunto.... sabe alguien explicarme??
Gracias de antemano...::bienn:: ::bienn::

wompygs 01-07-2010 01:50 AM

Claro, puedes poner un if con esas condiciones y dentro de él todo el rollo.. y en el else tu mensaje de error cuando el archivo no cumpla tus condiciones, espero que me entiendas, el esquema seria algo asi:
if (que el archivo sea jpg y menor de x megas) {El email se procesa y se envia}
Else {Mensaje de Error, el archivo no es jpg o ocupa demasiado}

danielccm 02-10-2010 09:38 AM

Quote:

Originalmente publicado por wompygs (Post 7509)
pues... algo estaremos haciendo mal.. (es que no veo tu c√≥digo, por lo que no puedo decirte lo que esta mal), lo que esta claro es que es sobre la l√*nea 44 xD, repasa el c√≥digo, seguro que es algun ; o alguna tonteria. O mejor mira, en la web puse un tutorial explicando ese c√≥digo con un ejemplo ya ehco que funciona perfectamente

Enviar email con archivo adjunto
hazlo as√* a ver si te va
Un saludo

Genial este post.. ya lo estoy usando...

Pero... necesito que de paso me env√*e unos campos que ya tengo con opciones... como hago para pasar esos campos (que estan en HTML) a este formulario?

GRACIAS!

flacopuig 03-03-2011 08:13 PM

Gracias por compartir
 
Primero quiero felicitarte y agradecerte porque el c√≥digo funciona perfectamente. Pero me gustar√*a saber si es factible hacerle la siguiente modificaci√≥n: en vez de que al enviar el mensaje con el adjunto me muestre una p√°gina en blanco con el mensaje "su mensaje ha sido enviado con √©xito", me reenv√*e a una p√°gina espec√*fica de mi sitio. Es posible? Espero su respuesta.

asd 03-09-2011 06:31 PM

Registro
 
Quote:

Originalmente publicado por andrexyx (Post 36593)
De Ppp.Madre el script.... despues de aber buscando 2 dias me he encontrado esto y nada mas ponerlo "Voila" funcciona a la primera con 5 archivos seguidos........
Ahora, el problema que tengo es que alguien me ense√Īe modificarlo que no se pueda enviar nada mas que ".jpg" y que no sea mayor de 1 mega la foto o 5 mega el total del adjunto.... sabe alguien explicarme??
Gracias de antemano...::bienn:: ::bienn::


UNA PREGUNTA SI CONOCEN ALGIEN QE SEPA x favor avisen : estoy buscando como poner un formulario de registro en mi web : es decir para registrarse x favor ayuden !!! :D gracias::bienn::

Yelverton 03-20-2012 05:39 AM

Vea usted comparte, yo estaba tan feliz Muchas gracias.::lala::

julupai 04-29-2012 11:56 AM

Test, just a test
 
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution
diet solution

alejandra uruguay 07-25-2012 05:39 AM

m√°s que una respuesta una solicitud de auxilioooooooo!!
 
no consigo que se env?*e el archivo adjunto al mail que indico, si bien, recojo todos los otros datos del mensaje...copié y pegué el código, puse el mail donde debe ir...que estará pasando??
muchas gracias por la ayuda!::flor::


Todas las horas son GMT. La hora es 10:33 AM.

Copyright 2007-2008