| |||
Re: Formulario adjunte archivo y luego envie a mi mail Hola, Mira la seccion del manual de PHP que habla sobre upload(<a href='ir.asp?http://www.php.net/manual/en/features.file-upload.php' target='_blank'>http://www.php.net/manual/en/features.fi...</a>, pero en vez de (o ademas, segun quieras) guardar el fichero en el servidor, te lo envias por correo con la funcion mail() (tambien esta en el manual <a href='ir.asp?http://www.php.net' target='_blank'>http://www.php.net...</a>). El formato del email sera lo mas complicado, ya que no es simplemente copiar el contenido del fichero, tienes que crear un mensaje MIME (haz unas cuantas busquedas con este termino). Tambien puedes buscar en <a href='ir.asp?http://www.hotscripts.com' target='_blank'>http://www.hotscripts.com...</a> scripts ya hechos y probados, que te hagan todo o que te hagan cualquiera de las dos partes. En resumen, tu tarea tiene dos subtareas: 1.- Subir (upload) un fichero al servidor. 2.- Enviar un fichero por email usando un mensaje MIME. Concentrate en solucionar cada una de las dos subtareas por separado y luego solo tienes que adaptarlas para que se comuniquen (es decir, para que la segunda acepte como entrada la salida del primero). Usando la tactica del "divide y venceras" te sera mas facil. Espero que este discurso te ayude. Si esperabas que te dieran todo el codigo ya hecho, mala suerte, prueba en hotscripts u otro deposito de scripts. Yo soy de los que piensa que es mejor enseñar a pescar que dar el pescado. Josemi Aprendiz de mucho, maestro de poco. |
| ||||
Re: Formulario adjunte archivo y luego envie a mi mail sabes realmente no lo hago de floja es que simplemente no entiendo, ya me pasee por las direcciones que me distes antes que me las dijieras y la verdad no entendi nada, para serte franca ni siquiera se eso de la funcion mail, osea aun no entiendo nada de como hacerle |
| |||
Re: Formulario adjunte archivo y luego envie a mi mail Yo te recomendaria .. q primero aprendas a enviar mail sencillo .. sin mas complicaciones texto/plano .. Luego .. envias algo usando cabeceras .. por ejemplo para enviar HTML .. Y por ultimo te metes con el MIME y archivos adjuntos .. Por supuesto .. eso en un principio .. porque tambien tendras q saber como subir la imagen o lo q sea al servidor para q en ultima instancia sea el servidor el que envie tu mail con el fichero adjunto ... Que tal si vas aprendiendo la base de PHP .. y lo dejas para mas adelante este tema? .. Lo digo porque sino te sonará a chino todo lo q aqui te intentems orientar ... Por otro lado esta el "cut-and-paste" (y rezar q sepas instalarlo y configurarlo si es necesario) algun codigo ya echo sobre el tema .. Codigo puedes encontrar sobre mail con PHP en: <a href='ir.asp?http://www.hotscripts.com/PHP/Scripts_and_Programs/Email_Systems/Email_Utilities/' target='_blank'>http://www.hotscripts.com/PHP/Scripts_an...</a> Un saludo, |
| ||||
Re: Formulario adjunte archivo y luego envie a mi mail Bueno recordaros que hace un tiempo escribi en estos mismos foros escribi una clase para poder enviar emails con datos adjuntos ![]() <table style="border:1px solid black"><tr><td><center> <embed width="88" height="144" src="http://www.alaplaya.com/~epplestun/yo.swf"></td></td><font face=verdana size=1>Ivan Rodriguez el poder es [B]PHP</p></td></tr></table> |
| |||
Re: Formulario adjunte archivo y luego envie a mi mail Epplesstunnn a ver si te haces una paginita de los webs's jeje con los "code snipers" jejej q anda q buscarte entre tus mensajes o si lo hiciestes en una respuesta es casi imposible :cantar: ![]() Un saludo, |
| ||||
Re: Formulario adjunte archivo y luego envie a mi mail Miren este es el codigo que tengo, es un formulario donde quiero que me envien una foto:
Código:
y ahora encontre esto <? mail("[email protected]","Formulario de Trabajo en Linea"," Formulario de solicitud de Trabajo Nombre : $Nombre R.U.T : $Empresa Dirección : $Direccion Comuna : $Comuna Telefono 1: $Telefonoa Telefono 2: $Telefonob Email : $Email Comentarios: $Comentarios Fotografía : ¿¿¿¿¿ACA ESTA MI PROBLEMA!!!! ","From: $Email"); mail("$Email","Su solicitud de Contacto ha sido Recibida"," PRO EVENTOS AGENCIA DE PROMOCIONES Y EVENTOS JOSÉ ZAPIOLA 7321 LA REINA, SANTIAGO CHILE Don(ña) $Nombre La información que Ud. nos ha enviado y que hemos recibido es la siguiente: Nombre : $Nombre R.U.T : $Empresa Dirección : $Direccion Comuna : $Comuna Telefono 1: $Telefonoa Telefono 2: $Telefonob Email : $Email Comentarios: $Comentarios Fotografía : ¿¿¿¿ACA ESTA MI PROBLEMA!!!!! Hemos recibido su solicitud de trabajo en línea. Nos contactaremos con usted lo antes posible. Muchas Gracias. María Ernestina Salazar y María Alejandra Godoy PRO EVENTOS Agencia de Promociones y Eventos www.proeventos.com ","From: [email protected]"); header("Location: http://www.proeventos.com/gracias.htm"); ?>
Código:
Pero no se donde ni como tengo que ponerlo, osea eso es lo que mejor he podido investigar, igual estoy estudiando cosas basicas pero con eso no voy a lograr hacer nada de lo que quiero, y es MUY IMPORTANTE lograrlo luego. Y tambien tengo esto otro pero no cacho, porfa ayudenme igual estoy haciendo las tareas!sendmsg(string to, string subject, string body, string from , string path_of_file, string filetype);
Código:
no sé mucho pero quiero aprender, que es lo que más me interesa. <? function sendmsg($to, $subject, $text, $from, $file, $type) { $content = fread(fopen($file,"r"),filesize($file)); $content = chunk_split(base64_encode($content)); $uid = strtoupper(md5(uniqid(time()))); $name = basename($file); $header = "From: $from\nReply-To: $from\n"; $header .= "MIME-Version: 1.0\n"; $header .= "Content-Type: multipart/mixed; boundary=$uid\n"; $header .= "--$uid\n"; $header .= "Content-Type: text/plain\n"; $header .= "Content-Transfer-Encoding: 8bit\n\n"; $header .= "$text\n"; $header .= "--$uid\n"; $header .= "Content-Type: $type; name=\"$name\"\n"; $header .= "Content-Transfer-Encoding: base64\n"; $header .= "Content-Disposition: attachment; filename=\"$name\"\n\n"; $header .= "$content\n"; $header .= "--$uid--"; mail($to, $subject, "", $header); return true; } ?> |
| ||||
Re: Formulario adjunte archivo y luego envie a mi mail Aqui estamos, les voy a dejar una clase que tengo por aqui para enviar datos adjuntos con la funcion mail();
Código:
<? //"mime_mail.php" class mime_mail { var $parts; var $to; var $from; var $headers; var $subjet; var $body; /* * void mime_mail() * */ function mime_mail() { $this->parts = array(); $this->to = ""; $this->from = ""; $this->subject = ""; $this->body = ""; $this->headers = ""; } /* * void add_attachment(string message, [string name], [string ctype]) * */ function add_attachment($message, $name = "", $ctype = "application/octet-stream") { $this->parts[] = array ( "ctype" => $ctype, "message" => $message, "encode" => $encode, "name" => $name ); } /* * void build_message() * */ function build_message($part) { $message = $part["message"]; $message = chunk_split(base64_encode($message)); $encoding = "base64"; return "Content-Type: " . $part[ "ctype"] . ($part[ "name"]? "; name = \"".$part[ "name"]. "\"" : ""). "\nContent-Transfer-Encoding: $encoding\n\n@message\n"; } /* * void build_multipart() * */ function build_multipart() { $boundary = "b".md5(uniqid(time())); $multipart = "Content-Type: multipart/mixed; boundary = $boundary\n\nThis is a MIME encoded message.\n\n--$boundary"; for($i = sizeof($this->parts)-1;$i>=0; $i--) { $multipart .= "\n" . $this->build_message($this->parts[$i]) . "--$boundary"; } return $multipart.= "--\n"; } /* * string get_mail() * */ function get_mail($complete = true) { $mime = ""; if (!empty($this->from)) $mime .= "Form: " . $this->from . "\n"; if (!empty($this->headers)) $mime.= $this->headers . "\n"; if ($complete) { if (!empty($this->to)) { $mime .= "To: $this->to\n"; } if (!empty($this->subject)) { $mime .= "Subject: $this->subject\n"; } } if (!empty($this->body)) $this->add_attachment($this->body, "", "text/plain"); $mime .= "MIME-Version: 1.0\n" . $this->build_multipart(); return $mime; } /* * void send() * */ function send() { $mime = $this->get_mail(false); mail($this->to,$this->subject, "", $mime); } }; ?> La forma de usar la clase es la siguiente: <? include("mime_mail.php"); $filename = "usuario.gif"; //nombre del archivo $content_type = "image/gif"; //tipo de archivo $fd = fopen($filename,"r"); $data = fread($fd,filesize($filename)); fclose($fd); $mail = new mime_mail; $mail->from = ""; $mail->to = ""; $mail->subject = ""; $mail->body = ""; $mail->add_attachment($data, $filename, $content_type); $mail->send(); ?> Ivan Rodriguez el poder es PHP |
| |||
Re: Formulario adjunte archivo y luego envie a mi mail Pero q problema tienes? .. no sabes usar esa "classe"? Lo dice bien claro . ."Y su forma de uso ... bal bla bla" Principalmente: $mail = new mime_mail; // constructor (se dice así? xD) .. par el caso q es necesario. $mail->from = ""; // para quien va el mail (e-mail) $mail->to = ""; // quien lo envia (e-mail) $mail->subject = ""; // El asunto del mail. $mail->body = ""; // el cuerpo del mail $mail->add_attachment($data, $filename, $content_type); // el fichero adjunto $mail->send(); // envia el mail .. Le falta algun ejemplito basico con un formulario y tal . pero basicamente es eso .. Un saludo, pd: epplestunn tiooo haz manuales de tus scripts xDDD.. |
| ||||
Re: Formulario adjunte archivo y luego envie a mi mail JEJE tranki k pronto tendremos tutoriales de todo lo que e hecho ![]() ![]() ![]() ![]() <table style="border:1px solid black"><tr><td><center> <embed width="88" height="144" src="http://www.alaplaya.com/~epplestun/yo.swf"></td></td><font face=verdana size=1>Ivan Rodriguez el poder es [B]PHP</p></td></tr></table> |
| |||
Re: Formulario adjunte archivo y luego envie a mi mail Se podria proponer un nuevo proyecto a Maestros del Web: un "deposito" de codigo donde se almacenen bien clasificados codigo, clases, librerias, links a scripts, etc cedidas por los usuarios del foro. Idealmente serian GPL, pero tambien se podrian listar de pago, estilo hotscripts. En phpbuilder tienen una seccion parecida. Se puede ir pensando, para despues de acabar lo de las FAQS, que tambien son muy necesarias (si es que se usan). Es mas, se podria entender como un complemento a las FAQS, enlazando las respuestas del faq con scripts. Yo creo que hay que madurar la idea, ¿alguno se apunta? Pasando al tema principal del mensaje. alnilam, cluster tiene razon. Si has probado con el codigo que encontraste, seguro que puedes decirnos exactamente que es lo que no entiendes o que es lo que no te funciona. Si tu problema es que no entiendes la nomenclatura del uso de las clases, aqui van un par de lecciones rapidas: 1.- $mail=new mime_mail; Como bien dice cluster, esto es el constructor. Tienes que ponerlo siempre, una vez por cada variable de esta clase. Puedes tener todas las variables de esta clase que quieras. Si intentas usar cualquiera de las funciones de la clase con una variable que no has inicializado con esta linea, PHP dara error. 2.- $mail->from="direccion de origen"; Esta linea lo unico que hace es asignar un valor a una variable, no es mas que eso (bueno, realmente es MUCHO mas que eso, pero habria que explicar Progrmacion Orientada a Objetos). Lo mismo para $mail->to, etc. 3.- $mail->add_attachment($data, $filename, $content_type); esto es simplemente una llamada a una funcion, igual que $mail->send(); Si mas o menos entiendes estos conceptos, podras ir usando scripts ya hechos con clases. Para escribir tus propias clases tendrias que aprender programacion orientada a objetos, y eso ya es otro cantar ... Informanos de tus avances, dudas y demas. Te ayudaremos si podemos. Josemi Aprendiz de mucho, maestro de poco. |
| |||
Re: Formulario adjunte archivo y luego envie a mi mail Bueno, escribo este mensaje (mi mensaje numero 50 en estos foros) para hacerle a epplestun un reproche y una pregunta. ¿que prefieres primero? Ah, asi que prefieres primero la pregunta. Pues como soy yo el que decide, te aguantas y aqui va el reproche. [exageracion]Pero hombre, por el amor de Dios bendito, ¿como puedes hacer esto? Que herejia. Y tu te llamas programador. Parece que tus dotes de programacion procedan del suplemento informatico de de algun periodico[/exageracion] Espero que te lo tomes con humor (me pareces un tio que acepta este tipo de ironias, si me he pasado me dices). Te preguntaras cual es la razon de mi enfado. Pues es esta: $mail->from="";. ¿ y en que esta mal ?, te estaras preguntando. Te lo dire: SE RECOMIENDA NO ACCEDER A LAS VARIABLES MIEMBRO DE UNA CLASE DESDE FUERA DE UNA CLASE. Estaras pensando 'Ya lo sabia, pero me parece una tonteria crear una funcion que solo asigne la cadena pasada a la variable miembro y ademas en PHP no hay forma de evitar que el usuario de la clase acceda a esas variables'. Y tienes razon. Pero piensa que puedes hacer que esa misma funcion valide la sintaxis de la direccion de mail. Y que se supone que en la documentacion de la clase indicas la forma de uso, y si los que usan tu clase to te hacen caso, que lo hagan bajo su responsabilidad y si luego no funciona, que no te echen la culpa. Asi lo veo yo. Aunque esto puede llevar a una discusion sobre los principios de las POO. Despues de la bronca, la pregunta: ¿Que tal la charla en la Euskal Party? No se, podrias crear un post nuevo contando lo que paso, la aceptacion que tuvo en la "fauna" que debe asistir a esos eventos, etc. Incluso podrias escribir un articulo y pedir que te lo publiquen en MDW, en fin, fue un intento de promover el uso de PHP, ¿no?. Pues creo que seria intesante que se informara sobre este tipo de cosas. Yo nunca he asistido a ninguna de las Euskal, y eso que vivo cerca, pero me da pereza. Aunque me he planteado varias veces ir ... |
| |||
Re: Formulario adjunte archivo y luego envie a mi mail (continuacion) nunca lo he hecho. Quizas porque la tematica general no me atrae mucho, o porque soy un vago, o porque me parece un poco "incomodo". No se, quizas si se organizan charlas de este tipo, puede que me anime. Ademas, en un par de años tendre la feria en mi pueblo y puede que se organice alguna vez ahi, y pueda ir andando desde casa, volver a casa a comer, dormir, etc. Pero te digo sobre todo, lo que mas me puede convencer es la existencia de charlas interesantes. Asi que ya sabes, informanos de como fue la charla. PD: Que bien, comienzo en el mensaje 50 y acabo en el 51. PPD: Que ganas de escribir tengo para ser viernes PPPD: epplestun, en serio, si te ha molestado mi tono, te pido perdon. Josemi Aprendiz de mucho, maestro de poco. |
| ||||
Re: Formulario adjunte archivo y luego envie a mi mail No me a molestado puedes estar tranquilo, el caso es: Encuanto a la clase, esta perfectamente programada, no tiene ninguna fallo, que se le pueden aplicar mas funciones? como la de validar el mail? claro que se puede hacer, pero si leemos el titulo del mensaje no pone eso, dice como enviar datos adjuntos con la funcion mail, nada mas, el caso es que escribi esta clase aqui para que la gente la pudiera utilizar ya que mucha gente lo necesita. Jeje el dia que hagas cosas tu para ayudarnos ya te criticare yo, mientras tanto creo que tendrias que respetarme un poquito. En cuanto a la POO pues no es nada complicado, pero para aprender hay que leer el manual y tener unas cositas claras. Retomando a lo anterior decirte que yo soy autodidacta y no soy programador, asi que la frase que pusistes sobra ![]() Pos eso, nada mas por ahora jeje y lo que te decia, el dia que hagas tu algo por la comunidad nos avisas para que te critiquemos ![]() Por cierto de donde eres? yo soy de Zarautz si eso podiamos quedar y hablar sobre PHP o sobre informatica que me mola mucho jeje enga saludetes ![]() <table style="border:1px solid black"><tr><td><center> <embed width="88" height="144" src="http://www.alaplaya.com/~epplestun/yo.swf"></td></td><font face=verdana size=1>Ivan Rodriguez el poder es [B]PHP</p></td></tr></table> |
| |||
Re: Formulario adjunte archivo y luego envie a mi mail jajaa y seguimos sin un ejemplo claro de uso de la classe que es lo q le intesaba a la persona que inicio el post este .. y seguro q a mas de uno .. (otros pensaran que yo posteo para subir mi numerito de mensajes ..pero bueno eso es otro cantar jajaja). -------------- Josemi .. una opinion mia: Yo he progama tambien una mini-aplicación .. le hice ducumentacion y hasta unos ejemplos demo ... Si la vieses me dirias que "podria hacer esto" .. "o lo otro" ... Y es cierto, pero hay veces que una aplicación se hace como base para que se tome como referencia y que cada cual (programador) se lo adpte a sus necesidades .. un ejemplo de ese tipo de digamos "programacion de base" son las Classes .. las cuales son como ya conoces muy falcilmente ampliables en funciones. Yo personalmente no suelo buscar aplicaciones completas que hagan lo que yo quiero (entre otras cosas porque es dificil que algo ya echo se te adpte a tus necesidades en la mayoria de casos), pero si que suelo usar aplicaciones (clases principalmente) que me ayuden con tareas como por ejemplo .. el tema de adjuntar un archivo a un mail; esa clase .. como base q es .. ya la adaptare yo a mi formulario de contacto .. o a un sistema de web-mail si llegase el caso ... Lo importante es eso, q ya te han resuelto un problema de base q es el de archivo adjunto. Otros ejemplos son .. clases para Obstraccion de BBDD .. de enviar mail por sockets (caso de una q hizo Herminio . usuario de los foros) .. la classe de manejo de Templates de Nok (tambien usurio de los foros) .. Bueno era eso solo ... una opinion mas. Un saludo, |
| ||||
Re: Formulario adjunte archivo y luego envie a mi mail despues de largas clases de chino, les vengo a decir que aun no lo logro, pero ya creo que voy a poder, en el foto de ayuda HASTA DIBUJITO ME HICIERON <a href='ir.asp?http://www.forosdelweb.com/mensaje.asp?id=94624&whichpage=1' target='_blank'>http://www.forosdelweb.com/mensaje.asp?i...</a> |
| |||
Hola, por favor me ayudan. He logrado subir el file al server. Y he logrado combertir el file binario en la cadena: Código PHP: Salu2!. |
| |||
Anarko .. Hoy por hoy (hablamos que estás resucitando un tema del 2002!!!!! y estamos al fecha de hoy en el 2005!!!!!) puedes usar classes como: PHP Mailer http://phpmailer.sourceforge.net Esa classe ya tiene métodos implementados que hacen TODO lo mencionado "teóricamente" en este mensaje. Un saludo, |
| |||
Vale, ya he leido + de 30 veces que la solucion es la clase [http://phpmailer.sourceforge.net]. Ahora, leyendo la primer respuesta de Josemi en este post: ############# El formato del email sera lo mas complicado, ya que no es simplemente copiar el contenido del fichero, tienes que crear un mensaje MIME ############# Devido a que logre combertir el binario en una cadena MIME quisiera saber que sigue luego del UPLOAD y luego del MIME. Ya Tengo un los files en formato MIME, aun faltan demasiados pasos?, coloque los encabezados he hecho p´ruebas, el mail me llega pesando 10/200/50 KB, (lo que pesa el file), pero el file no se deja ver. Ya he visto lo de la clase y la tengo en mi Pc, despues de tener el MIME faltan demasiados pasos?, si son pocos, por favor diganme cuales. |
| |||
Pues .. por mi parte simplemente recomiendo el uso de esa classe (o equivalente) por qué ya tienes todo hecho ... Dicha clase te permite adjuntar a un e-mail cualquier tipo de archivo: Ya sea que esté físicamente en tu servidor (nose.tal) o bien como "string" (caso típico de imagenes generadas dinámicamente por ejemplo con GD o similares procesos). Realmente Anarko .. no sé que te lias tanto con MIME y genera un archivo en MIME? .. si MIME es sólo una propiedad que define en las cabeceras de un archivo de que tipo de contenido viene acontinuación ... Por qué no inicias un nuevo tema y explicas tu situación concreta! .. que archivo estás generando? .. o que archivo quieres adjuntar en tu e-mail? .. De todas formas te insisto por 31+ vez que esa classe permite adjuntar los dos casos de archivos que puedes tener .. ya sean como archivo físico ya creado en tu sistema de archivos del servidor .. o bien como "string" (cadena) si es que lo genéras dinámicamente. Un saludo, |
| |||
Re: Formulario adjunte archivo y luego envie a mi mail saludos, yo tengo un formulario que permite enviar los datos del formulario y el archivo adjutno, si utilizar la funcion php mailer, mucho mas sencillo y eficaz. si lo quieres escribeme a [email protected] o buscalo en este foro. |
| ||||
Re: Formulario adjunte archivo y luego envie a mi mail Franco_r3, porfavor no revivas temas tan viejos, este tema empezo en el 2002, luego fue revivido en 2005, ya estamos en 2007. Si quieres compartir tu código abre un tema nuevo y publicalo ahí, no es necesario que revivas temas de hace 2 años. Saludos |