Como el título dice, este es un pequeño script que permite enviar y/o subir multiples archivos
al estilo de GMail, éste script utiliza PHP como lenguaje del lado del servidor, javascript para crear nuevos elementos HTML en la página y para el envío del mail se utiliza PHP Mailer que permite adjuntar archivos de una manera muy sencilla.
Primero se definen los elementos necesarios para poder enviar el mail
<dl>
<dt><label for="to" accesskey="1">Para</label></dt>
<dd><input type="text" name="to" id="to" size="60" /></dd>
<dt><label for="from" accesskey="2">De</label></dt>
<dd><input type="text" name="from" id="from" size="60" /></dd>
<dt><label for="sbj" accesskey="3">Asunto</label></dt>
<dd><input type="text" name="sbj" id="sbj" size="60" /></dd>
<dt><label for="msg" accesskey="4">Mensaje</label></dt>
<dd><textarea id="msg" name="msg" rows="7" cols="45"></textarea></dd>
<dt><label>Archivos Adjuntos:</label> <a href="#" onclick="addField()" accesskey="5">Añadir Archivo</a></dt>
<dd><div id="files"></div></dd>
<dd><input type="submit" value="Enviar" id="postback" name="postback" accesskey="6" /></dd>
</dl>
</form>
La siguiente porción de código javascript, permite agregar y quitar elementos de tipo <input type=
de manera dinámica, esta es una de las razones del título del artículo 😉file
>
var numero = 0;
// Funciones comunes
c= function (tag) { // Crea un elemento
return document.createElement(tag);
}
d = function (id) { // Retorna un elemento en base al id
return document.getElementById(id);
}
e = function (evt) { // Retorna el evento
return (!evt) ? event : evt;
}
f = function (evt) { // Retorna el objeto que genera el evento
return evt.srcElement ? evt.srcElement : evt.target;
}
addField = function () {
container = d('files');
span = c('SPAN');
span.className = 'file';
span.id = 'file' + (++numero);
field = c('INPUT');
field.name = 'archivos[]';
field.type = 'file';
a = c('A');
a.name = span.id;
a.href = '#';
a.onclick = removeField;
a.innerHTML = 'Quitar';
span.appendChild(field);
span.appendChild(a);
container.appendChild(span);
}
removeField = function (evt) {
lnk = f(e(evt));
span = d(lnk.name);
span.parentNode.removeChild(span);
}
</script>
Finalmente viene el código del lado del servidor, que maneja los datos enviados
a través del formulario y hace el respectivo envío del mail a la dirección indicada
include_once('class.phpmailer.php');
// Indica si los datos provienen del formulario
$postback=isset($_POST['postback']) ? true : false;
if ($postback) {
extract($_POST);
$mail = new phpmailer ();
$mail -> From = $from;
$mail -> FromName = "BuayaCorp"; # Puede obtenerse del formulario, por facilidad se hace de esta manera
$mail -> AddAddress ($to);
$mail -> Subject = $sbj;
$mail -> Body = $msg;
$mail -> IsHTML (true);
$archivos = '';
$msg = "Mensaje Enviado";
if (isset ($_FILES["archivos"])) {
$msg .= "<ul>";
foreach ($_FILES["archivos"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["archivos"]["tmp_name"][$key];
$name = $_FILES["archivos"]["name"][$key];
$msg .= "<li>$name</li>";
$name = uniqid('bc') . '_' . $name; # Generar un nombre �nico para el archivo
$mail -> AddAttachment ($tmp_name, $name);
/*
Si se van a guardar los archivos en un directorio, deber�an descomentarse
las siguientes l�neas, si se van a guardar los nombres
de los archivos en una base de datos, aqu� deber�a realizarse algo...
move_uploaded_file($tmp_name, "ruta/directorio/$name"); # Guardar el archivo en una ubicaci�n, debe tener los permisos necesarios
*/
} #if
} # foreach
$msg .= '</ul>';
} # if
if (!$mail -> Send ()){
$msg = "No se pudo enviar el email";
}
}
?>
Dependiendo de las necesidades que cada uno de ustedes pueda tener, este script puede modificarse con suma facilidad y asi conseguir el objetivo deseado
236 replies on “Enviar y/o subir multiples archivos adjuntos al estilo GMail”
Me parece util...
buen trabajo!
Hola me parece muy bueno tu articulo, sinembargo no se como aplicarlo a la página http://www.opeinvias.com/contacto
Es posible que me ayudes?
Por otro lado tengo muchas plantillas,que con gusto puedo conpartir contigo, como simbolo de agradecimiento.
Att.
Hector R Lasso
Hola, qué es lo que realmente quieres hacer?.
Ví tu página de contacto y al parecer todo funciona bien
Saludos
Logre que envie el mailo y guarde el adjunto en una carpeta dentro de mi servidor, pero el adjunto se queda ahi no me llega a la direccion de mail. ¿tengo que configurar algo mas? Saludos.
Te agrego mas datos, no trabajo de forma local siempre de forma remota, me llega el mail pero no el adjunto, el adjunto queda en la carpeta que defini con permisos 777 pero no me lo envia a mi correo.
No veo porque sea el problema, el ejemplo que puse en ésta página envía los archivos adjuntos sin problemas, probablemente no estés asignando bien la ruta de los archivos, intenta depurar el script, talvez te pueda servir el atributo
$mailer -> ErrorInfo
del phpmailer, tambien deberías agregar una dirección a donde responder$mail -> AddReplyTo('foo@bar.com', 'Bug Reports');
, escoger el método de transporte smtp$mail -> Mailer = "smtp";
, etc.No se me ocurre que más sugerirte...
Saludos
Buenas!!
Como puedo recorrer los controles que se han creado con asp
Gracias
Hola, me parce bien tu articulo, no se si me puedas ayudar, yo tngo instalado php y al correr tu aplicación y al enviar un archivo en mi pc me dice
:que Warning: Failed opening 'class.phpmailer.php' for inclusion (include_path='.;c:\php4\pear') in c:\foxserv\www\correo.php on line 72
Fatal error: Cannot instantiate non-existent class: phpmailer in c:\foxserv\www\correo.php on line 78
no se si me puedes ayudar a resolver este problema gracias
El problema es que no tienes la clase PHPMailer en el directorio donde corres el script. La clase PHPMailer la puedes descargar en éste enlace.
Puedes descargar el ejemplo que ya incluye dicha clase.
Saludos
Que tal... Oye probe el ejemplo en mi maquina pero no envia, tengo instalado el PHP y el dreamweaver y tengo win2000 server... necesito tener instalado algun servidor de correo o algo referente para que se pueda enviar?... Si me pueden ayudar por favor.....
Necesitas un servidor de correo, hasta donde sé en Windows 2000 trae un servidor SMTP como parte del IIS, configúralo bien para que te permita hacer relaying, ahora también puedes usar otro servidor SMTP, no necesariamente en tu máquina (eso gracias al phpmailer)
Saludos
Mira tu ejemplo me parece my bueno pero a la ora de correrlo en mi maquina me sale que no se pudo enviar el archivo no se si me podrias decir a que se deve o si se deven configurar algunois de los archivos .
Te ayudaría con todo gusto, si pusieras más detalles sobre el error que te manda, no soy adivino...
Saludos
hola, mi problema también es que no me llega el adjunto, solo el correo con el cuerpo del mail y el asunto...
podrias ayudarme?
Hola, no tengo muy claro que tipo de codigo debo usar puesto que estoy utilizando jsp's, lo que necesito es que los usuarios del portal puedan subir sus imagenes y archivos de texto a las paginas, ademas requiren que el portal cargue informacion dinamicamente...me ayudarias con eso please??, es para un proyecto del inst...
Gracias!...saludos
Buenas, para enviar por correo lo tengo claro, pero ¿sirve para enviar ficheros al servidor? Por ejemplo para que envien descargas a mi web y se suban directamente a una carpeta /descargas/
Claro, como ves en el nombre del artículo dice "Enviar y/o Subir", sólo tienes que descomentar las líneas donde dice move_uploaded_file y cambias la ruta a la que quieres subir.
Saludos
Muchas gracias Braulio, tu sitio web me parece excelente, de lo mejorcito, ánimo, espero que estes tan animado en este proyecto como yo leyendolo, un saludo
hola porque solo puedo subir imagenes de poco tamaño. que tendria que cambiar para que pueda adjuntar fotos de mucho mayor tamaño. bye gracias
Hola, la verdad q de muchos sites q estuve investigando este informe me parecio uno de los mas intersantes. Sin embargo como a muchos a mi tampoco me funciona. He subido los 3 archivos q vienen en la descarga, estan en la misma carpeta y alli mismo el formulario con el script para los input file, pero cuando envio me sale:
Method Not Allowed
The requested method POST is not allowed for the URL /prom/club/subirfotos_otro.htm.
--------------------------------
Apache/1.3.33 Server at http://www.calle8lima.com Port 80
Que otra cosa debo de configurar, cuando lo probe desde el link que tu pones de prueba si funciona y me llego al correo elegido, pero cuando los subi al servidor de mi cliente no funciona . Un favor si noes muy extensa la solucion dime los pasos a darse de modo explicito, no supongan q mis conocimientos ya son medios o avanzados en programacion , soy solo diseñador de webs y configuro de modo basico scripts y php ya elaborados. Bueno espero me ayudes por que lo quisiera aplicar ya. Gracias
El problema que comentas es porque no le estás asignando la página que se va a encargar de procesar el formulario, el atributo
action
de tu formulario debe apuntar a la página donde se encuentra el script, Ejaction="subir.php"
, ahorita tu código está así:action=""
.Saludos
Gracias. La verdad q al inicio no entendí porque tampoco me fucionaba con tu indicación y viendo que tu ejemplo esta php se me ocurrio subir el archivo el que viene con la descarga : uploader.php, y al ingresar http://www.calle8lima.com/prom/club/uploader.phpaperece el formulario y asi funciono.Ocurre nunca use php como paginas sino como documento a llamar para algo. Sin me parecia extraño q en tu ejemplo el action tambien figuraba:action="". esto lo comprendi luego que viese que dentro del uploader.php ya figuraba el codigo el php. ademas del form. Por lo tanto si yo queria q mi formulario sea un htm solo debia incluir el script para añadir campos y ademas crear un php aparte con el codigo que figuraba arriba del uploader.php o simplemente colocar en action, action="uploader.php". Bueno ya funciono todo. Gracias Alex. Si me he explicado de modo tan extenso es para algunos que les ocurriese el mismo problema. ojala me hayan entendido tambien. Sólo un detalle ¿hay alguna forma de que las imagenes no lleguen renombradas? si por ejmplo el archivo se llama cd.jpg me lo renombra a bc42fb362557e72_cd.jpg y ademas me lo adjunta doble. Bueno Gracias siempre
Justamente en el script aparece la siguiente línea:
$name = uniqid('bc') . '_' . $name; # Generar un nombre único para el archivo
Si quieres que no lo renombre, comenta o borra dicha línea, sobre el otro problema, no sé que esté sucediendo, no tengo detalles como para poder darte alguna solución.
Saludos
Buenas de nuevo a todos. He estado pensando en como diseñar el uploader.php, pues dicho fichero debe recoger los campor de mi formulario en html.
Con eso recogemos los campos del formulario en html, excepto los ficheros adjuntos que no se como recogerlos.
y con esto:
Envio procesado';
echo 'Muchas gracias..';
?>
enviamos el email.
La cuestion esta en como recoger los ficheros adjuntos en el formulario en html que se llaman file1 y file2 y como luego adjuntarlos al email.
Que pensais al respecto de esto?
Lo que no entiendo es el codigo:
$archivos = '';
$msg = "Mensaje Enviado";
if (isset ($_FILES["archivos"])) { # Si es que se subió algún archivo
$msg .= "";
foreach ($_FILES["archivos"]["error"] as $key => $error) { # Iterar sobre la colección de archivos
if ($error == UPLOAD_ERR_OK) { // Si no hay error
$tmp_name = $_FILES["archivos"]["tmp_name"][$key];
$name = $_FILES["archivos"]["name"][$key];
$msg .= "$name";
$mail -> AddAttachment ($tmp_name, $name); # Añade el archivo adjunto
} #if
} # foreach
$msg .= '';
} # if
if (!$mail -> Send ()){
$msg = "No se pudo enviar el email";
}
quizas utilizando parte de este codigo para recoger los datos adjuntados y luego añadirlos al mensaje pueda funcionar.
Me podeis ayudar?
En mi primer post hay errores en el codigo del fichero uploader.php, por eso se me ocurrio esto ultimo, es como he mandado otros emails utilizando codigo php en ficheros .php, pero en los que no se adjuntaban ficheros.
No me deja adjuntar codigos, por favor, poneros en contactor conmigo a traves de javitenorio@msn.com ( es tambien mi cuenta en el messenger por si alguno de vosotros quiere agregarme)
No entiendo muy bien qué es lo que quieres hacer, puedes contactactarme a través de alex[@]buayacorp.com si deseas...
Saludos
Hola amigo ,me parecio muy bueno tu articulo pero lo q no entinedo es.. porq no funciona el ejemplo q tienes aqui? siempre dice email no se pudo enviar.. y otra pregunta, donde se coloca la direccion a la cual van a llegar todos los datos? Gracias..
Pues a mi me funciona bien...; sobre tu pregunta añades los recipientes con la sentencia
$mail -> AddAddress ($to);
Saludos
Hola amigo ,ya me funciona pero tengo otra pregunta y disculpa la molestia.
Necesito colocar mas campos pero no se en donde ni como. La idea es q la gente envie algunos datos tales como nombre, apellido, teléfono, ciudad, etc ,etc y q adjunte su Curriculum. Gracias..
Buenas noches, necesito que por favor me de una orientación, yo necesito que los usuarios solo puedan subir un archivo y que sea de extención .doc, .xls o jpg .
Que debo agregar oquitar al codigo para:
1. que solo se pueda mandar un archivo adjunto.
2. que el archivo adjunto sea .doc, .xls, o .jpg
Mil gracias por su colaboración.
como se podra hacer para que solo se puedan sierta cantidad archivos de puedan enviar Ejemplo: que solo se puedan abrir 7 input para enviar al tratar de abrir otro salgo un mensaje.
Muchas gracias por su ayuda 😀
En el script hay una variable global
numero
, simplemente bastaría con poner la condición necesaria al inicio de la funciónaddField
.Saludos
Tengo una duda... cómo puedo componer la variable $msg con distintas variables, por ej. $nombre; $ direccion; $telefono; etc.
Gracias anticipadas por la ayuda 🙂
Hola Yiyo, la variable
$msg
, simplemente es para indicar si se ha enviado el mail o no, no se utiliza para otro propósito. A qué te refieres específicamente?Saludos
Hola , felicitaciones por el script me es muy util ,
Como hago para poner un limite de archivos adjuntos que me puedan mandar como maximo 3 ?
Vi tu explicacion aca :
--------------------------------------
alex dijo:
Setiembre 5th, 2005 at 7:19 pm
En el script hay una variable global numero, simplemente bastaría con poner la condición necesaria al inicio de la función addField.
---------------------------------
Me podrias indicar un poco mejor que no logro hacerlo ?
Gracias
Saludos
Hola Daniel, como te dije, sólo basta poner esta condición al inicio de la función
addField
:addField = function () {
if (numero >3 ) return false;
container = d('files');
...
Saludos
La pagina funciona bien. El mail lo recibo correctamente a mi correo electrónico, pero NO RECIBO LOS ARCHIVOS ADJUNTOS QUE ENVIO....¿Donde está el problema?
Gracias por su ayuda,
Diego.
holas...este formulario me parece muy bueno, la verdad no conozco mucho el tema pero vengo leyendo muuuuucho desde ayer, mi pregunta es, en cual de los files debo cambiar para que llegue al correo que se desea, deseo renombrar ese file uploader a contactenos, se puede?..no afecta en algo el funcionamiento?..puedo borrar algunos campos del formulario o cambiar de nombres?..no afecta en nada a los demas files?...ayudenme plz---
Alex , como hago para que despues que al usuario le sale el "mensaje enviado" lo redireccione en una pagina nueva a la web que yo le indique , tiene que abrirsele en una pagina nueva la direccion que yo le indique.
¿Como hago ?
Gracias
Diego: El hecho de que no envíe los archivos adjuntos puede ser problema de tu servidor de correo, hasta ahora los adjuntos que he enviado han llegado sin problemas.
Milton: Como menciono arriba, puedes personalizar el script, puedes crear tu propio formulario y sólo invocar al script php, sobre cambiar el nombre de los elementos, puedes hacerlo, pero asegúrate tambien de hacerlo en el script.
Daniel: Para redireccionar a otra página, simplemente debes enviar los cabeceras para eso:
header("Location: tupagina.php");
, esa parte debes ubicarlo al final de:if ($postback) {
...
header("Location: tupagina.php");
}
..
Saludos.
por favor podrías especificarme como hacerlo?...aqui te dejo mi link de la pagina...en el link de concactenos quiero poner este formulario pero quiero trabajarlo con este mismo scrìpt, como veras, hay un espacio vacio alli para poner el formulario, lo que quiero saber es como vinculo la pagina contactenos.html con los scripts para que trabajen normalmente..por favor una ayudadita, no entiendo muy bien PHP pero puedo usar el dreamweaver a nivel basico, ya que uso front page...como veran la pagina esta vacia pero ya ire poniendo el texto...me estoy enfocando mas en lo mas dificil para mi..lo que es el formulario..pero no quiero perder el diseño de la pagina, osea no quiero trabajar con un formulario vacio, sin vida.....se podrá?....hize eso de pegar todo el code de mi pagina y pegarlo en mi form pero cuando lo guardo en formato php, se pierden los graficos...quisiera una ayudadita paso a paso...
Mi pagina: http://usuarios.lycos.es/comprasenusa/index.html
debo hacer algun cambio al file class.phpmailer para que llegue a mi correo?...los files adjuntos?..
Alex , gracias por tu respuestas , te molesto la ultima vez ,
Yo estoy usando el formulario para vender fotografias por medi de una pagina , ed decir la gente me manda usando el formulario una foto y despues de confirmarle el envio hace click y va a una pagina de paypal .
Lo que no puedo hacer es ponerle un hipervinculo a paypal a la confirmacion del mensaje que diga algo asi : " Su mensaje se a enviado (haga click aqui para seguir el proceso )
Necesito que la persona al hacer click en "la confirmacion de envio" se abra en una pagina nueva a Paypal .
Tiene que ser en una pagin nueva .
Trato de ponerle un hiperviculo y me da error . como puedo hacerlo ?
Gracias
Saludos
Todos se quedaron sin hablar...:(
Milton: Como ya te había mencionado, puedes modificar las cosas que quieras, sólo debes tener cuidado en el cambio de los nombres, por ejm: Si en el formulario cambias:
por<input type="text" name="from" id="from" size="60" />
<input type="text" name="remitente" id="remitente" size="60" />
En el script PHP deberías cambiar
$mail->From = $from;
por$mail->From = $remitente;
.Daniel: Acabo de responder al mail que me enviaste, me indicas qué es lo que _exactamente_ deseas para poder ayudarte.
Necesito ayuda con Upload...
Quiero subir un archivo que se encuentre en una determinada carpeta en el cliente(Esto siempre va a ser así, es decir, el nombre de la carpeta es estandar) de manera automatica sin hacer clic en examinar, sino que se suba en background cuando se envie un formulario , ej: c:\PDF\ y el nombre del archivo va hacer dinamico...
Por favor, ayudenme con esto ya que es urgente....he estado investigando pero no encuentro nada...mis paginas estan hechas en PHP,
Gracias...le agradezco su colaboracion
No puedes hacerlo sólo con PHP, ya que éste no tiene acceso a los recursos del cliente, además por razones de seguridad no puedes tener un valor por defecto en un elemento de tipo "file". Necesitas siempre de la intervención del usuario o crear un programa cliente que se encargue de subir los archivos...
Saludos
Alex buenas tardes, como se puede hacer para agregar mas campos al formulario y que también los envíe con el correo, ejemplo existe un campo que es el cuerpo del documento, como se puede hacer para adicionar mas campos de este tipo, por ejemplo agregar dos textarea mas que contengan otra información pero que tambien lleguen junto con el correo, mil gracias por su ayuda
necesito el form me envie informacion adicional con campos de texto, radioButtons y checkButtons, no se si puedan ayudarme
hola, veo que eres un experto en informatica y quisiera ver si puedes ayudarme. necesito abrir un archivo con terminación( .msg), pero no se como hacerlo o con que programa, ojala pudieras ayudarme.
Necesito ayuda, que variable agrego o cambio para disponer de mas campos de texto??
HELP ME!!!!
Alex, veo que aquí varios necesitamos mas campos de texto en el formulario, por favor enseñanos que devemos hacer?
GRACIAS
Primero que nada disculpen por mi ausencia.
Mao y Gerardo: Lamentablemente no puedo poner el ejemplo dentro de los comentarios, tampoco creo que sería bueno que modifique el "artículo", qué me sugieren hacer??
Saludos
Bueno Alex, te agradecería infinitamente si me puedes mandar todo el codigo o las instrucciones de que debo hacer para agreagar mas campos de texto a mi correo gerardo.morales.oQ@gmail.com
Viejo Alex, mi correo es mauricio_cubillos@yahoo.es o webmaster@k-market.com.co, le agradesco hermano su ayudita por que definitivamente las variables que agrego no me funcionan, otra vez gracias.
Listo, acabo de enviarles la modificación.
Saludos
Alex, que pena incomodarlo, parece que mi correo aqui tomo un caracter mas, mi correo es gerardo.morales.o@gmail.com
Gracias anticipadas por su generosa ayuda
Saludos, Felicitaciones por tu formulario esta buenazo.
Tengo un pequeño poblema: cree la carpeta donde seran publicados los archivo que se subiran y tambien le di permisos 777. lo que no logro cambiar es la ruta para esa carpeta si me pueden ayuda...
move_uploaded_file($tmp_name, "ruta/directorio/$name");
en que linea esta ese move_uploaded_file.
Gracias
Gerardo: Volví a enviar la modificación a la dirección que mencionas.
Xander: Esa línea está comentada, tienes que "descomentarla", el segundo parámetro indica la ruta que definiste para guardar tus archivos.
Saludos
holas, tengo problemas al enviar emails desde gmail nose si tengo que configurar mi cuenta o modificar el codigo. de phpmail.
help me.
Hola Isabela, tienes algún mensaje de error al intentar enviar? qué es exactamente lo que estás haciendo?.
Saludos
PS. Para que no se haga más extenso los comentarios, puedes contactarme en: alex[@]buayacorp.com
Hola Isabela, disculpa q te moleste pero tengo una duda en la q tal ves podrias ayudarme, tu codigo me funciona muy bien, pero cuando quiero enviar el e-mail con copia utilizando :
$mail -> AddCC("otromail@dominio.com")
no me aparace ningun mensaje de error sin embargo el mail dirigido a esta persona nunca se envia, si pudieras pasarme algun dato del ¿porq? te estare eternamente agradecido.
Hmm, por qué no pruebas añadiendo esa dirección haciendo lo siguiente:
$mail -> AddAddress ("tumail@dominio.com");
Saludos
Hola a todos. mi pregunta es si es posible especificar el tipo de fichero para subir, es decir, que sólo se puedan enviar ficheros "EXE" o ficheros "IMAGEN" por ejemplo.
Gracias!
Hola,
A nivel del cliente, sólo puedes comprobar las extensiones de los archivos que suben, pero a nivel del servidor si puedes basarte en el MIME del archivo (una vez que haya subido).
Saludos
hola amigos, mi nombre es albert, i os queria preguntar porfavor si podriais vosotros hacerme un formulario k aki teneis con el k se pueden enviar fotos en el link:
http://www.buayacorp.com/archivos/enviar-o-subir-multiples-archivos-adjuntos-al-estilo-gmail/
i si podriais hacerlo para mi web i enviarmelo por email porfavor. muchas gracias.
Alex:
Antes que todo, mis felicitaciones y agradecimientos. De todo lo que he podido encontrar en la web respecto a este tema, creo que esta solución es la más práctica y comprensible. (Estoy dando mis primerois pasos en PHP.)
Quisiera aprovecharme de tu buena disposición y pedirte si me puedes enviar como debería modificarse el código para agregar mas campos de texto, tal como se los mandaste a Mao y a Gerardo.
Además, si fuera posible, que me explicaras como no recurrir al javascript para adjuntar archivos y poner directamente campos de archivo en el formulario.
De antemano, te reitero mis agradecimientos y felicitaciones por vuestra página.
Mario
Hola,
Albert: Lamentablemente no contamos con tiempo para hacer el trabajo por ti.
Mario: Gracias por los comentarios, ya te contesté al mail que proporcionaste.
Bueno antes que nada felicitaciones por este articulo esta bastante bueno, es lo que andaba buscando, pero tengo una pequenia preguntita
A) Por ejemplo cuando te llega un archivo adjunto a tu correo te aparece el nombre del archivo, si el archivo enviado fue "archivo.zip" ese nombre te aparece cuando se te envia. Al parecer en tu ejemplo tu mismo tienes que generar un nombre para este archivo. ¿No se le puede poner el mismo nombre (al archivo) con el cual se esta enviando para que al destinatario le llegue el mismo nombre de archivo que yo envie?
Si se puede, simplemente quita esta línea del script:
$name = uniqid('bc') . '_' . $name; # Generar un nombre único para el archivo
Saludos
Oye y esta parte:
$mail -> FromName = "BuayaCorp"; # Puede obtenerse del formulario, por facilidad se hace de esta manera
¿Que parametro es? ¿Como lo puedo obtener del formulario (como tu dices)?
Hmm, esa _variable_ indica el nombre con el que se envía el correo (BuayaCorp ), puedes _recibirlo_ poniendo otro elemento en tu formulario HTML...
Saludos
Alex: te agradezco enormemente la respuesta que me mandaste; me funcionó perfecto.
Quisiera aprovechar tu disposición y hacerte algunas preguntas más:
1.- Hay alguna posibilidad de aumentar el tamaño de los archivos que se envían...¿como?. (Pasados los 5mb, se queda pegada la página o, simplemente no me despacha nada.)
2.- Si no es posible lo anterior, ¿como se podría hacer para que al sobrepasarse la capacidad máxima de despacho le apareciese un mensaje al usuario informándole que no puede seguir adjuntando archivos?
Ojala me puedas responder, lo más detallado posible (a prueba de novatos)
Agradecido desde ya,
Mario
Alex: te agradezco enormemente la respuesta que me mandaste; me funcionó perfecto.
Quisiera aprovechar tu disposición y hacerte algunas preguntas más:
1.- Hay alguna posibilidad de aumentar el tamaño de los archivos que se envían...¿como?. (Pasados los 5mb, se queda pegada la página o, simplemente no me despacha nada.)
2.- Si no es posible lo anterior, ¿como se podría hacer para que al sobrepasarse la capacidad máxima de despacho le apareciese un mensaje al usuario informándole que no puede seguir adjuntando archivos?
Ojala me puedas responder, lo más detallado posible (a prueba de novatos)
Agradecido desde ya,
Mario
oye Mario Arturo Garfias en esta pagina: http://www.php.net/manual/es/features.file-upload.php puedes encontrar algo de informacion sobre la pregunta de los tamaños del archivo, espero y te sirva.
oye Mario Arturo Garfias en esta pagina: http://www.php.net/manual/es/features.file-upload.php puedes encontrar algo de informacion sobre la pregunta de los tamaños del archivo, espero y te sirva.
oye Mario Arturo Garfias en esta pagina: http://www.php.net/manual/es/features.file-upload.php puedes encontrar algo de informacion sobre la pregunta de los tamaños del archivo, espero y te sirva.
despues de recorrer varios sitios este fue el mejor ejemplo de envio de mail con archivos adjuntos, y funciona a la perfección, pero me surgió un problema, no me llegan los mail a mi casilla de hotmail y a la de yahoo, en cambio a la de gmail si me llegan sin ningun tipo de inconveniente.
Alguien sabe como configurar el script para que se pueda recibir en las casillas de hotmail y la de yahoo?
Prueba enviando usando el servidor SMTP directamente y poniendo algunas cabeceras relevantes, si continúan los problemas puedes enviarme un mail, para ver si puedo ayudarte o no.
Saludos
Alex, tengo el mismo problema que tiene Mario Arturo, si me envian un archivo demasiado pesado no me llega a mi bandeja de entrada, entre al enlace que es mencionado arriba como referencia pero no encontre nada, hay alguna forma de que se me envie información mas pesada, o que si llega a el tamaño maximo, rebote un mensaje de alerta?
Mil Gracias por toda su ayuda.
Mao, tienes que modificar el php.ini para permitir eso (upload_max_filesize, post_max_size), adicionalmente puedes hacer que el script rechaze archivos que sean mayores a un determinado tamaño, revisa el siguiente comentario:
http://www.php.net/manual/es/features.file-upload.php#50939
Saludos
gracias
Hola, desde ya gracias a vosotros por el excelente trabajo que haceis, les comento trate de utilizar el código pero me reporta el sgte error:
Warning: Invalid argument supplied for foreach() in /data/virtuales/visitusaperu.org.pe/uploader/uploader.php on line 29
Podeis echarme una mano con esto. Gracias anticipadas.
Excelente labor Alex
Hola,
Para agregar nuevos campos, simplemente inserta los tags correspondientes dentro del formulario (Ejm.
<input name="foo" type="text" />
) y lo recuperas el valor de éste con el nombre que usaste ($foo
)Saludos
Saludos
Hola Alex podeis ayudarme, pf. con el comentario 84, hace mas de una semana que lo postié pero no pasa na. Gracias
Hola Binfel,
El error que muestras es algo genérico, sería bueno que indiques la versión de PHP que tienes, si modificaste el script o no. En todo caso, asegúrate que los archivos por lo menos llegan al servidor.
Saludos
Binfel, este error sale cuando recorres algo que no es un arreglo, en este caso la variable $_FILES, lo que supongo es que en tu formulario no estás poniendo corréctamente el atributo enctype, debería ser asi
Revisa, talvez ese sea el error.
Saludos
QUE TAL ALEX
TE COMENTO QUE CUANDO COLOCO EL EJEMPLO QUE ME DICES EN EL COMENTARIO 86 NO LOGRO RECUPERAR EL VALOR, SINO QUE LO SUSTITUYE POR OTRO
hola no se como enviar archivos adjuntos sera que alguien me pueda ayudar 🙂
[...] Exportar reportes Crystal Reports en ASP.NET (7502)Mostrar una imagen desde blob mysql usando PHP (5553)Exportar un Datagrid a Excel (5450)Guardar una imagen y su miniatura a un campo Blob de mysql (5079)Enviar y/o subir multiples archivos adjuntos al estilo GMail (4692)Colección de fuentes gratis (1885)Menus Simples con CSS y listas (1864)BConverter una aplicación MIDlet en J2ME (1721)Guardar y recuperar archivo en un campo blob de PostgreSQL con PHP (1645)Tablas con CSS (897) [...]
Hola.
Te felicito por tan buen scripts, me ha servido de mucho.
Tengo una pregunta, a partir de estos scripts desarrolle una pequeña página que maneja DOM con javascript para manejo de etiquetas HTML. El punto es funciona perfectamente en Mozilla Firefox, pero no funciona en Internet Explorer.
Quisiera saber si me puedes ayudar a solucionar esto. Te mando el código del archivo que te digo.
De antemano te agradezco por tu colaboración.
Carlos
Anexo código fuente del archivo “Tabla.html”
Tablas
var numero = 0;
function valor_cero(){
frm.i.value='';
frm.i.value='0';
}
// Funciones comunes
c= function (tag) { // Crea un elemento
return document.createElement(tag);
}
d = function (id) { // Retorna un elemento en base al id
return document.getElementById(id);
}
e = function (evt) { // Retorna el evento
return (!evt) ? event : evt;
}
f = function (evt) { // Retorna el objeto que genera el evento
return evt.srcElement ? evt.srcElement : evt.target;
}
addField = function () {
cont=parseInt(frm.i.value);
cont+=1;
frm.i.value=''+cont;
contenedor = d('tabla_contenedora');
// Se crea la fila
tr=c('TR');
tr.id='tr'+cont;
//se agrega el td de codigo
td_codigo=c('td');
td_codigo.align='center';
td_codigo.id='td_codigo'+cont;
//se crea el campo de codigo
campo_codigo = c('INPUT');
campo_codigo.name = 'codigo'+cont;
campo_codigo.type = 'text';
//se agrega el td de descripcion
td_descripcion=c('td');
td_descripcion.align='center';
td_descripcion.id='td_descripcion'+cont;
//se crea el campo de descripcion
campo_descripcion = c('INPUT');
campo_descripcion.name = 'descripcion'+cont;
campo_descripcion.type = 'text';
//se agrega el td de cantidad
td_cantidad=c('td');
td_cantidad.align='center';
td_cantidad.id='td_cantidad'+cont;
//se crea el campo de cantidad
campo_cantidad = c('INPUT');
campo_cantidad.name = 'cantidad'+cont;
campo_cantidad.type = 'text';
//se agrega el td de valor unitario
td_vu=c('td');
td_vu.align='center';
td_vu.id='td_vu'+cont;
//se crea el campo de valor unitario
campo_vu = c('INPUT');
campo_vu.name = 'valor_unitario'+cont;
campo_vu.type = 'text';
//se agrega el td de valor unitario de descuento
td_vud=c('td');
td_vud.align='center';
td_vud.id='td_vud'+cont;
//se crea el campo de descripcion
campo_vud = c('INPUT');
campo_vud.name = 'valor_unitario_descuento'+cont;
campo_vud.type = 'text';
//se agrega el td de valor total
td_vt=c('td');
td_vt.align='center';
td_vt.id='td_vt'+cont;
//se crea el campo de descripcion
campo_vt = c('INPUT');
campo_vt.name = 'valor_total'+cont;
campo_vt.type = 'text';
//se agrega el td de Quitar TR
td_quitar=c('td');
td_quitar.align='center';
td_quitar.id='td_quitar'+cont;
//se crea el campo de descripcion
boton_quitar = c('INPUT');
boton_quitar.name = 'quitar'+cont;
boton_quitar.id = 'quitar'+cont;
boton_quitar.type = 'button';
boton_quitar.value= 'Quitar';
boton_quitar.onclick = removeField;
//se agregrega y se imprime
tr.appendChild(td_codigo);
tr.appendChild(td_descripcion);
tr.appendChild(td_cantidad);
tr.appendChild(td_vu);
tr.appendChild(td_vud);
tr.appendChild(td_vt);
tr.appendChild(td_quitar);
td_codigo.appendChild(campo_codigo);
td_descripcion.appendChild(campo_descripcion);
td_cantidad.appendChild(campo_cantidad);
td_vu.appendChild(campo_vu);
td_vud.appendChild(campo_vud);
td_vt.appendChild(campo_vt);
td_quitar.appendChild(boton_quitar);
contenedor.appendChild(tr);
}
removeField = function (evt) {
lnk = f(e(evt));
td=lnk.parentNode;
tr=td.parentNode;
tabla=tr.parentNode;
tabla.removeChild(tr);
}
Tablas Agregar Tr
Codigo
Descripcion
Cantidad
Valor Unitario
VR UN%DESC
Valor Total
Quitar
Hola Carlos,
Envíame el archivo adjunto a alex at buayacorp dot com
Saludos
Hola, me gustaria pedirte ayuda. Creo haber configurado bien todo, pero todavía no consigo hacer que me lleguen los mansajes. Siempre me sale "No se ha podido enviar el mensaje". A alguien le importaria agragarme al msn (iportillo_barca@hotmail.com) y echarme una mano...??
Gracias
Hola,
Usa
$mail->ErrorInfo
para saber exáctamente cual es el error.Saludos
PS. Me gustaría añadirte a mi msn, pero no doy soporte 🙂
Hola. Cuando intento ejecutar el script me aparece el error : 'container' es nulo o no es un objeto. Este error se produce cuando se va a ejecutar la línea container.appendChild(span);
¿Puede alguien decirme a qué se debe?
Gracias.
Hola quisiera que me ayuden porque tengo la necesidad de enviar mails a través del internet adjuntando un archivo, que es lo que muestra este ejemplo.
Quisiera saber cómo puedo hacer que en ek nombre de destinatario pueda elegir las direcciones mail desde una base de datos??? gracias
Hola,
Alberto: El error probablemente se deba a que no tengas un elemento con id "files", que es el que está por defecto en el script
container = d('files');
. Puedes ver una versión mejorada de ese script en esta otra entradaErick: Puedes usar Autocompleter que forma parte de http://script.aculo.us/
Saludos
Alex, te agradeceria a infinitamente si me puedes mandar todo el codigo o las instrucciones para agreagar mas campos de texto a mi correo andres@ingenio-imagen.com
Un saludo y felicidades. Por cierto conoces HOSTINET.COM?
es que ayer me funcionaba a la perfección tu escript y hoy me realiza la funcion de addField, vamos, que hago click y nada. sabes a ke se puede deber este error?. te repìto que ayer funcionaba perfectamente y hoy ya no (www.hostinet.com)
Es un archivo muy interesante pero no tengo ni idea de como implementarlo en mi web. Me interesa hacer una especie de formulario de información en el que se pudiese adjuntar un cv y enviarlo a una direccion de correo. Agradeceria cualquier ayuda.
Un saludo y gracias.
Perdona, mi direccion de correo es jmbrunton@gmail.com
sabeis como tengo que enviar un correo en el cual como fondo tengo una imagen, sin que esta imagen aparezca como fichero adjunto en Hotmail.
al enviar publicidad a los cllientes, he construido un fichero .html que lo inserto como fondo de correo. Si lo envío y recibo por Outlook no hay problema. Si hay problema con Hotmail, y es el que intento solucionar.
A ver si me podeis ayudar, que debe ser algo facil, pero que ahora mismo desconozco.
Hola,
Jorge 1: Hacer las modificaciones para el envío de cv's es una tarea trivial, te sugiero que comiences a leer algo sobre html y php
Jorge 2: Para que puedas enviar imágenes dentro del mail, éste tiene que estar en formato HTML (
$mail->IsHtml(true);
), tienes 2 opciones:- La imágen se cargue de manera remota:
$mail->Body = '<img src="http://tusitio.com/una-imagen.png" />';
- La imagen esté *embedida* dentro del mail:
$mail->IsHtml(true);
$mail->AddEmbeddedImage('/home/alex/una-imagen.jpg', 'un-id', 'una-imagen.jpg '));)
$mail->Body = 'Imagen: <img src="cid:un-id" />';
me figura este erro alguien sabe que es? :
Warning: fsockopen() has been disabled for security reasons in /www/sites/1/iespana.es/s/h/shaper/site/class.smtp.php on line 105
El error es claro, no se puede usar fsockopen en tu proveedor de hosting, me imagino que estás intentando enviar mails usando smtp, intenta hacerlo usando sólo la función mail.
Saludos
No me llegan los adjuntos si el email, hay que configurar algo para que lleguen porque no veo el el error si alguien me puede ayudar???
Hola,
Ese problema, al parecer, se presenta porque los archivos que se envían son grandes y no se terminan de subir, revisa el comentario 82. e intenta modificar los parámetros allí mencionados.
Saludos
alex intente hacer lo que me decis de colocar un archivo de menor tamaño y no funca me comunique con el servicio tecnico de mi servidor y no saben un corno. hay algo que se me esta escapando y no se que sumale que mucho no se de progrmacion. encontre un pag que me dice Añadiendo estas dos lineas:
$archivo=$HTTP_POST_FILES['archivo']['tmp_name'];
$archivo_name = $HTTP_POST_FILES['archivo']['name'];
los archivos adjuntos llegaran a su destino ;)::::pero no se donde va
no se si tengo que modificar el uploader.php o el phpmailer,igual te agradezzco tu ayuda. si de alguna manera podes revisar el codigo que tengo te lo voy a agradecer. saludos
Hola. Veo que tus conocimientos son enormes, por eso a ver si me puedes ayudar. Tengo un formulario simple PHP, que utilizo en mi web, la cual se aloja en el servidor de Averroes (Junta de Andalucía). Pues bien, no sé cómo modificar su código para poder enviar archivos adjuntos al destinatario que recibe en emaili. ¿Podrías ayudarme?. Te lo agradecería enormemente. Es una web de un colegio, y necesitamos esta función. Gracias por todo.
Hola,
Occy: Las líneas que pones se usaban en versiones anteriores de PHP, habría que hacer pruebas para determinar el problema.
Enrique: Envíame el archivo que tienes a [alex at buayacorp dot com].
Saludos
¿Por qué cuando intento enviar un archivo adjunto que pesa mas de 20 MB en gmail no puedo??? supuestamente gmail tiene un espacio de 2727 MB, entonces ¿a qué se debe???
Gracias
Giancarlo, el tamaño máximo para enviar un archivo adjunto en gmail es 10MB.
como paso un archivo oculto desde el usuario al servidor.
La idea es que el usuario tenga una planilla en su PC
pinche un boton en la web y se actualice una base de datos del servidor.
Hasta ahora
No se puede hacer eso por motivos de seguridad, me imagino que tendrías que utilizar ActiveX o un Applet, u algún software para el cliente.
Saludos
saludos, siempre quise poner un formulario como este, ahora que lo encontré no puedo isntalarlo, ya que quiero cambiar toda mi pagina a php, la verdad es que no se muy bien esto de la programación, pero me gusta y he podido hacer cosas que me facilitan el trabajo, espero me puedas ayudar a francamente por pasos que debo seguir para la instalación de este buen formulario, otra cosa el escrip que me hace la función de solicitar que información falta, cuando pongo el de la muestra no funciona el primer scrip. te lo agradeceré mucho.
Me parece muy util, ahora tengo una duda como puedo hacer para subir imagenes temporalmente, explico:
- Tengo un formulario por medio del que doy de alta empresas, pero cada empresa tiene N productos, como puedo hacer para agregar y validar cada imagen de los productos no sabiendo la cantidad y sin llenar mi servidor de archivos temporales?; El problema está en que la imagen la debo tener como archivo no como campo Blob en una tabla temporal, alguien puede ayudarme y si es así escribanme por fabor gracias
Hola.
Me ha sido de gran ayuda este código fuente, pero tengo un pequeño problema.
Al momento de crear campos de tipo input (text) con el DOM de JavaScript, no puedo colocarlos como campos de solo lectura ósea readonly, y la verdad no he encontrado cual es la línea de comando exacta.
He utilizado algunas líneas de código como la siguiente pero no me han funcionado. Para el caso de esta aplicación seria:
field.readonly = true;
Se que la línea esta errada ya que no funciona.
Espero que me puedas ayudar.
Gracias.
Bueno mi comentario es si tienen algun ejemplo para subir imagenes al servidor mediante un sencillo form¿?
Saludos,
Mercedes
Hola,
Ricardo: Para *instalar* este script lo único que debes hacer es copiarlo a un directorio accesible por el servidor web.
Body: Simple, sube las imágenes a un directorio destinado para eso y luego guardas los nombres de dichos archivos en algún lugar (ej. base de datos), de esta manera podrás eliminarlos después si no pasan el proceso de validación.
Carlos: Prueba con field.readOnly = true;
PromocionWeb: Borrando todo código javascript que está presente en el ejemplo debería bastar para el ejemplo simple que pides.
Saludos
Hola !
Estoy empezando con una pagina de mi facultad, y quiero q me manden sus trabajos, por lo que este script me sirve de mucho, me parece muy bueno, solo que quisiera que me pudieran ayudar diciendome como puedo quitar el campo que dice "para" y que la direccion a la que quiero que se envie sea automatico, es decir ya no tengan q poner la direccion la persona que quiera enviar un archivo.... soy un novato en estos aspectos, necesito mucho su apoyo, gracias de antemano
Rafael: En el código HTML sólo quitas las líneas que dicen
<dd><input type="text" name="to" id="to" size="60" /></dd>
Y en el código PHP modificas la parte que dice
por
Estoy probando el script en localhost y me dice que no se ha podido enviar el correo, pero pruebo en el ejemplo online que tienes y me dice lo mismo.
Ahora estoy perdido podrias hacer un breve comentario de como instalar el script y las cosas basicas que hay que cambiar para que funcione
Gracias por todo este trabajo que haceis, y el valioso tiempo que nos dedicais, he estado buscando algo como esto en muchos sitios y como no encontraba nada me decidi por buscar un programadores web, que me cobraban por hacer algo similar entre 250 y 300€.
No se mucho de estos temas pero investigando, investigando me resulta hasta facil simplemente con un editor web se pueden modificar muchos apartados y era justamente lo que necesitaba.
Os estoy enormemente agradecido, muchas gracias.
A veces resulta tan fácil hacer feliz a la gente.
Hola Alex primero déjame felicitarte por este código que ha facilitado para todo el publico, esto se adapta muy bien a mi pagina a lo que pienso hacer, ya le meteré mano para agregarle más campos que necesito y que sea de una vez enviado a mi correo o a una carpeta especifica, te molesto por lo siguiente como podría hacer para que cuando las personas me envíen la foto y el comentario esto se publique de manera automática como se puede observar en este comentario. Necesito hacer esto pues quiero que mis visitantes puedan anunciar alguna venta de producto. Espero tu repuesta.
Buenas de nuevo
He pasado del localhost y he cogido un espacio en iespana.es, q se supone que admite php, he subido el ejemplo sin tocarlo y los he probado, el resultado es que siempre me da mensaje enviado, pero no recibo nada en las cuentas de correo, he probado con hotmail, lycos y el propio iespana pero nada. ¿puede ser que el servidor iespana no lo admita aunque la pagina diga que se envio? o ¿hay algo que yo hago mal?
Un saludo
Braulio, Alex por favor me podeis poner un ejemplo claro, que el que no sabe es como el que no ve, de como añadir campos al formulario y que me los envie, lo intento con un editor web pero no me envia los campos nuevos solos los que tiene el ejemplo vuestro.
Muchisimas Gracias por el tiempo robado.
Hola,
Ramsses: Muchas gracias por el comentario.
Vasco: Lo que comentas se parece a un "libro de visitas", te sugiero que busques alguno en hotscripts.com y lo modifiques de acuerdo a tus necesidades, si tienes problemas puedes contactarme en alex at buayacorp dot com.
Raul: Lamentablemente no conozco los servicios y características que ofrecen en iespana.es, te sugiero que le des un vistazo a dotgeek.org (cada mes sortean una cuenta de hosting gratis, sin publicidad).
Andaluz: Lo que tienes que hacer es simplemente agregar un elemento en el HTML y luego recuperar su valor en PHP,
En php puedes recuperar el valor de la variable con
$NombreCampo
(gracias a la función extract) ó también$_GET['NombreCampo']
(si pasas la variable por GET),$_POST['NombreCampo']
(si pasas la variable por POST) y$_REQUEST['NombreCampo']
(si no estás seguro 🙂 ).Saludos
Disculpa otra vez Alex pero llevo 4 horas y no se que c.... hago mal tengo en
html: $mail -> Subject = $sbj;
$mail -> Body = $textfield;
$mail -> Body = $msg;
$mail -> IsHTML (true);
Y en php:
Asunto
Campo nuevo
Mensaje
He provado de varias maneras pero solo me manda los campos de siempre, el nuevo no me lo manda y si me manda el "campo nuevo" no me manda el del "mensaje" o uno o otro pero ¿porque no me manda los dos?.
Soy novatisimo en esto.
Perdona esto na ha salido bien:
Html:
$mail -> Subject = $sbj;
$mail -> Body = $textfield;
$mail -> Body = $msg;
$mail -> IsHTML (true);
PHP:
Asunto
Campo nuevo
Mensaje
Alex. No me deja pegar el codigo te lo mando por emai.
Mil perdones.
Hola Andaluz,
Si te fijas el comentario 128 te darás cuenta que los campos se concatenan...
Lo siento Alex, perdona por haberte molestado; pero estoy a punto de tirar la toalla, ¡si vieras las veces que he provado el dichoso formulario!,
Es como hacerle comprender a un burro que esta en un garage. Se que te resultara sumamente sencillo, pero Yo soy el burro y no soy capaz de comprenderlo.
Les estaria enormemente agradecido si a Ti o a alguna alma caritativa que lea este post, me mande por favor un ejemplo, como el que tienes puesto en esta web, completo pero con tres o cuatro campos mas, para que el burro observe donde esta el problema, les estaría infinitamenteeeeee agradecido.
Mi e-mail yhnmoi@terra.es De todas formas muchisimas gracias por tus prontas respuestas.
hola muy bueno el sitio.
soy nuevo en esto del php y quisiera hacer una consulta para poder correr el script que version de php debo tener? es necesario hacer algun cambio en el phpmailer (configurar algún parametro??). Se que son consultas básicas sorry.
hola
visite tu pagina y tal vez puedas ayudarme
manejo muy poco todo el tema de los formularios, solo se hacer cosas simples y necesito con urgencia un formulario con un boton "adjuntar archivo" que permita al usuario adjuntar una fotografia.
te agradeceria mucho si pudieras envairme al mail un formulario tipo con estas caracteristicas y el php para poder recibirlo en mi correo
gracias
saludos
carolina
Hola, como hago para colocar que sea a un solo correo que llegue el archivo? osea que el unico correo donde llegue lo que envien sea en oxigeno@oxigeno.com.ve
Fabrizio, revisa el comentario 122
Saludos
La verdad es que no logré hacerlo funcionar.... ni el ejemplo en su pagina me deja probarlo no se porque será pero tampoco me dice que no se puede enviar el e-mail... lo compie lo instale en mi servidor y lo probé allí me dice que hay un error en la linea 29 que el formato de la sentencia foreach ( $_FILES["archivos"]["error"] as $key => $error) es erroneo la verdad que no tengo mucha experiencia en PHP... pero no logro que ande
Me aparece:
Language string failed to load: instantiate
y no puedo envial el mail ni el adjunto. ¿Cómo lo soluciono?
Baja la versión original de phpmailer, ahí incluye los archivos de localización para que te muestre los errores en el idioma seleccionado.
Saludos
Hola el script es perfecto para lo que quiero hacer pero tengo una pega no consigo que me envie mas de un campo de texto en el mensaje.Enviarme los ficheros y demas perfecto pero eso no lo consigo y mira que he modificado casi todo el codigo.
Por favor si podeis mandarme los archivos modificados indicandome donde esta la modificaciones. Lo he intentado con lo que pone en los comentarios anteriores sobre la misma pregunta pero no se porque no me funciona un saludo a todos y gracias.
PD. fciscojose[@]hotmail.com
Hola!!
Vi la aplicación y la considerá muy buena, pero no me fuciona!!!, me dice mensage enviado, todo corre perfectamente, pero el email nunca llega, ?¿?, sin embargo prueba una función que yo tenia SendMail hecha y si que me llega el email, pero esta es incompleta porque yo quiero que me mande 3 archivos adjuntos. Mi pregunta es porque no me llega el correo de tu ejemplo
Hola Carolina,
No tengo idea porque no funciona el ejemplo en tu caso, puede ser por muchos motivos, revisa los comentarios anteriores.
Saludos
Hola Alex te quiero agradecer por el tiempo que nos dedicas.
Paso a contarte mi duda.
Primera duda, ya intente de un monton de formas para añadir mas campos al formulario y no puedo.
Ya cree un capo nuevo
pero no entiendo de que forma agregar la variable $nuevo en
$mail -> Body = $msg;
Y la segunda duda, es cuando envio archivos adjuntos de alrededor de 3mb,
El problema aca es que en el tiempo que tarda despues que apretaste el boton de "enviar" hasta que carga los archivos adjuntos y los envia, el usuario tal ves no se de cuenta que el mail se esta enviando y cierre la ventana y el mail no llegue a destino. Existe alguna forma de que aparezca un cartelito que diga: "su mensaje con sus archivos adjuntos se estan enviando, por favor espere" y recien cuando el mail ya fue enviado aparezca otro cartelito que diga "su mail fue recibido satisfactoriamente, muchas gracias"
PD: ya revise todos los comentarios y no logre entender lo que necesito. Agradeceria muchisimo su ayuda.
mi mail es juangm88@yahoo.com.ar
Ya solucione eso de añadir mas campos "concatenando"
lo hice asi:
$mail -> Body = "Numero fijo: "."$msg".""."Numero del celular: "."$numcel".""."Calle: "."$calle".""."Departamento: "."$depar";
$msg corresponde a un campo para el numero de tel fijo
$numcel corresponde a un campo para el numero de cel
$calle corresponde a un campo para escribir la calle de donde vives
$depar corresponde a un campo para poner el departamento donde vives
Osea que agregue como 4 campos
//-----------------------------------------------------------------------
Pero todavia no resuelvo el problema de cuando envio archivos adjuntos de alrededor de 3mb. El problema aca es que en el tiempo que tarda despues que apretaste el boton de "enviar" hasta que carga los archivos adjuntos y los envia, el usuario tal ves no se de cuenta que el mail se esta enviando y cierre la ventana y el mail no llegue a destino. Existe alguna forma de que aparezca un cartelito que diga: "su mensaje con sus archivos adjuntos se estan enviando, por favor espere" y recien cuando el mail ya fue enviado aparezca otro cartelito que diga "su mail fue recibido satisfactoriamente, muchas gracias"
PD: agradeceria muchisimo su ayuda
Hola Juan Pablo,
Me parece bien que hayas solucionado una parte de los problemas que mencionaste.
En cuanto a la segunda pregunta primero tienes que considerar que por defecto sólo se puede subir archivos de 2MB (revisa el comentario #82 para más detalles); lo que se me ocurre en este momento es que una vez que presiones el botón para enviar el mail, deshabilites el mismo y a su vez uses uno de estos íconos (lamentablemente no voy a poder enviarte un ejemplo, ya que últimamente ando algo ocupadito).
Saludos
Saludos amigos yo subi el ejemplo y funciono de maravilla, solo que no se si alguien me pudiera enviar el mismo ejemplo pero eliminando el primer campo y poner una direcci
Hola.. estoy creando un formulario que permita adjuntar archivo... no se mucho o mejor dicho nada de PHP pero vi tu ejemplo y creo que es lo que necesito, aunq no sé bien a dónde envia el adjunto...
Lo que quiero es que envie el conenido del formulario a una web incluyendo el archivo adjunto... Qué debo hacer..? Te agardezco la ayda de antemano...
Velia
Hola Velia,
Si se trata de subir sólo el archivo, hay una parte comentada en el script que te dá una pista de lo que deberías hacer.
Lo mejor es que aprendas por lo menos un poquito de PHP, para saber que está haciendo realmente el código.
Saludos
Hola Alex. Muy interesante tu articulo, pero la verdad es que no se porque no me funciona. Baje, descomprimi los archivos, los instale en mi maquina. No hice ningun cambio. Envie un mail con un archivo adjunto, no me sale ningun error hasta me muestra el mensaje que envie correctamente el mail y me muestra que archivo mande, pero no me llega a ninguno de los correos con los que hice la prueba. No se si hay que hacer algun cambio o colocar algun nombre de servidor SMTP o algo. Por favor te agradeceria la ayuda. Al principio pense que estaba tardando en enviar el mail pero espere de un dia a otro y no llega nada. Gracias por la ayuda.....
Hola sharon, con qué servidor SMTP estás enviando los correos?
Saludos
utilizo el mail.uagrm.edu.bo, no se si ese nombre tengo que ponerlo en algun lugar del codigo. Lo que necesito saber es si a los archivos que bajamos tenemos que cambiarle algo.
o quizas necesite permisos del lado del servidor
Revisa como poner la dirección del servidor SMTP en http://www.buayacorp.com/archivos/phpmailer-con-gmail/
Saludos
Mil gracias Alex, me funciono correctamente, ya me llegan los correos con los archivos adjuntos, ahora solo me falta hacer algunas modificaciones sobre el nombre del archivo y otras cositas que no hay problema con eso. Leyendo los mensajes anteriores lo solucionamos. Gracias.
Muy bueno tu articulo.
Saludos
Hola que tal, excelente tu ejemplo y tutorial...
estuve intentanto agragar mas campos en el formulario para el cuerpo del mail, pero no me doy cuenta de mi error..Me enviarias el ejemplo con mas campos para el formulario..mil gracias.
Hola Yo de nuevo,,e solucionado agregar mas campos por el comentario (145). Gracias a todos.
Hola, quisiera hacerte una conculta. Estoy tratando de poner un "CAPTCHA" en este formulario, con idea de dejarlo igual al ejemplo que tienes en línea. Hasta ahora no me resulta....¿podrias pasarme el código que utilizas en el ejemplo pero con el captcha agregado?.....de antemano muchas gracias.
Buenas me parece un excelente articulo. felicitaciones Alex, tengo una duda, como podria hacer para adjuntar un archivo q ya tengo en mi servidor y enviar el email con el adjunto sin necesidad de tener que darle click en "Añadir archivo".
Gracias
Sambora
Sambora, quita todo lo relacionado sobre subir archivos, pues sólo necesitarías llamar al método AddAttachment:
$mail -> AddAttachment ('/ruta/fisica/nombre.zip', 'nombre.zip');
Saludos
No puedo mandar archivos adjuntos, desde mi computador, me aparece un mensaje. error de Javascript, el objeto no acepta esta propiedad o metodo, desde ya muchas gracias por tu ayuda
Hola Alex.
Sabes te pido por favor, si puedes enviar a mi mail la forma de agregar mas campos al formulario ( campo de telefono) si pudieras darme una mano. Agradecido desde ya
Oscar
XDDDD
ya lo habia leido con otro nombre de las variables, es muy buen codigo. lo unico engorroso es tratar de combinarlo con xsl...
no puedo hacer abstraccion con el javascript desde xsl, pero en fin.
se agradece el codigo.
Hola:
buscando en el google me encontre con este sitio y me parecio perfectisimo todo lo que se postea aqui, de hecho este tutorial me parece muy bueno y las dudas de los demas me han ido "aclarando" un poco el panorama.
bien, estoy haciendo una pagina de noticias para que el usuario suba sus noticias, pero me han pedido que en el formulario se presente un boton o enlace para subir archivos a la base de datos, y que la informacion no se envie a la base de datos hasta que el usuario este seguro de querer hacerlo (cuando los datos esten correctos), es decir que se le presente una vista previa de los datos.
he estado probando con los archivos de este tutorial y lo que he conseguido es ingresar datos en el formulario, pero al momento de querer guardarlos en la base de datos, no hace nada, lo unico que si se guardan son las imagenes en la base de datos y en una carpeta que le he asignado.
No se si me explique o si es mucho pedir, pero podrian echarme una manita por favor, se que tienen muchas cosas que hacer y que su tiempo es muy importante, pero podrian orientarme o al menos decirme como podria solucionar este "problemita".
Se que me echaran una mano y de antemano se los agradezco.
Estoy trabajando con el AppServ (Apache-MySQL-PHP) bajo windows XP.
quiero crear mi cuenta gmail urgente mi correo es almacarti@hotmail.com
hi:)
amio pls soy nuevo en esto recien ando practicando si fueras tan ambale y me explicas como enlazar el codigo:(
No tienen algun codigo completo??
Hola: Tengo una duda porque quiero utilizar el formulario en varios idiomas y no consigo encontrar donde cambio los campos "examinar" y "borrar" cuando adjuntas archivos desde Internet explorer ó "seleccionar archivo" desde safari, supongo que debo definir el idioma en alguna parte pero ¿donde? gracias por todo
necesito agregar o quitar campos de tipo de struts dinamicamente los campos son producto de una consulta a la base de datos asi necesito que este campo se replique: si alguien puede hacerme el favor de orientarme le agradesco mucho.
">
necesito agregar o quitar campos de tipo html:select de struts dinamicamente los campos son producto de una consulta a la base de datos asi necesito que este campo se replique: si alguien puede hacerme el favor de orientarme le agradesco mucho.
html:select property="menMenId"
html:option value="" /html:option
logic:iterate id="menMenIdBean" name="menMenIdList" scope="request" type="net.illustrato.quest.logicadominio.modelo.MenMenu"
html:option value=""
bean:write name="menMenIdBean" property="menNombre" /
/html:option
/logic:iterate
/html:select
Hola, me ha servido mucho el código, pero cuando envio imágenes de 15k en adelante, las imágenes llegan mal a los destinatarios, como si no cargaran por completo, llegan por pedazos
¿Me podrias ayudar?
Gracias
Hola
disculpa que te moleste pero al parecer tu te manejas en el DOM de javascript la verdad es que tengo un problema.
estoy creando una tabla que la estoy construllendo con el DOM, no tengo problema en crearla para internet explorer pero con mozilla y opera no me funciona lo que quiero hacer, ya que la tabla que estoy creanto tiene un tr que llama a una funcion de javacript este es el codig que estoy colocando, y me funciona para internet explorer.
var tabla = document.createElement("TABLE");
tabla.id = "tabla_datos";
tabla.border = "0";
tabla.width = "100%";
tabla.align = "center";
tabla.className = "Mtable2";
tabla.setAttribute("cellspacing","0");
tabla.setAttribute("cellpadding", "3");
var _tabla = document.getElementById("tabla_datos");
var tr = document.createElement("TR");
//tr.bgcolor = "#FFFFFF";
tr.id = pj_cod_1;
tr.className = "fuente11_1";
tr.onClick = "javascript: seleccionar4('"+pj_cod_1+"')";
tr.onDblClick = "javascript: enviar_url('www.pvw.cl')";
var td = document.createElement("TD");
td.align = "center";
td.width = "10%";
td.height = "27";
td.className = "fuente10";
td.innerHTML = pj_cod_1;
tr.appendChild(td);
tabla.appendChild(tr);
var padre = _tabla.parentNode;
padre.replaceChild(tabla, _tabla);
padre.innerHTML=padre.innerHTML+"";
Las variables son de poca importancia ya que lo que me importa es saver por que en mozilla y opera no me funcionan.
espero no causar muchas molestias.
ATTE
Claudio Santibañez
Negativo, en Gmail se pueden enviar adjuntos de 15MB. Comprobado!
Ya solucione mi problema y les mando la solucion 🙂
tr.onClick = "javascript: seleccionar4('"+pj_cod_1+"')";
tr.onDblClick = "javascript: enviar_url('www.pvw.cl')";
tr.setAttribute("onclick","javascript:seleccionar4('"+pj_cod_1+"')");
tr.setAttribute("onDblClick","javascript:enviar_url('www.pvw.cl')");
coloque las dos formas y me toma en los 3 exploradores 🙂
SL2
buenas tardes caballeros, tengo la siguiente consulta, tengo un formulario de busqueda, que tambien es realizada a partir de unos selects en php, para ello utilizo un javascript que cumple la funciona de recoger los datos de los select y pegar en el textfield, para realizar la busqueda, mi consulta es la siguiente, como puedo hacer en el javascript para que cuando vuelva a seleccionar con el select, me borre lo anterior dejando el nuevo elemento seleccionado.
este es mi javascript. desde ya muchas gracias
function pegar(form_name,input_element, select_name){
var result = 0;
var f_n = 'document.'+ form_name + '.';
var input_field = eval(f_n + input_element);
var element = eval(f_n + select_name +'.options['+ f_n + select_name +'.selectedIndex].value');
result = input_field.value + ' ' + element;
input_field.value = result;
}
Hola,
Acabo de configurar gmail en el outlook, recibo perfectamente todos los correos pero no puedo mandar ninguno desde el outloook, que puedo hacer???
Gracias
Alejandra
Alejandra, revisa la siguiente dirección:
http://mail.google.com/support/bin/answer.py?ctx=%67mail&hl=en&answer=12103
Saludos
Hola a todos...tengo un problema cl enviar los archivos, me sale que no se pudo enviar. Tengo alojados los archivos en mi servidor, y hace poco se hizo una actulaizacion y el script no es compatible con PHP 5.0.4. Que variable debo cambiar para que pueda enviar los archivos.
Hace poco funcionaba muy bien...por favor agradezco me ayuden.
Muchas gracias y saludos a todos.
al darle añadir archivo, me sube la web a arriba del todo, que hago para que no lo haga?
Enviar y/o subir multiples archivos adjuntos al estilo GMail...
Como el título dice, este es un pequeño script que permite enviar y/o subir multiples archivos al estilo de GMail, éste script utiliza PHP como lenguaje del lado del servidor, javascript para crear nuevos elementos HTML en la página y para el enví...
Exelente artículo...MUY intereseante lo de crear nuevos elementos dinámicamente con javascript!
Saludos,
hola soy nuevo en esto y tengo algunas preguntas para hacerte al respecto.
Los archivos de ejemplos para descargar son distintos a los codigos que se colocaron?
cuantos archivos debo crear y como se deben llamar para seguir tu ejemplo? nombre y extension?
Sepuede poner una direccion fija a la cual lleguen los mails? yo me baje los archivos de ejemplo y los coloque en mi pagina funcionan correctamente pero lo que yo quiero saber si lo que estan haciendo acá es diferente a eso porque leí algunas preguntas que tambien quieren cambiar el destinatario y poner uno fijo y en los archivos de ejemplo no puedo encontrar donde cambiar lo que dicen que hay que cambiar ($mail->AddAdress).
Desde ya agradezco muchisimo si pueden evacuar mis dudas.
Bocha
Si, son los mismos.
No sé a que te refieres con eso.
Si, se puede poner una dirección fija, para mayores detalles revisa la documentación de PHPMailer.
Saludos
Como hago para agregar copia oculta "bcc", espero tu respuesta, muy bueno el formulario!!
la pagina web no tiene nada interesante para mostrar
Funciona perfecto lo pude hacer funcionar sin mayores inconvennientes
felicitaciones y gracias
excelente plantilla, me ha servido muchisimo, muchisimas gracias, de verdad. saludos desde mexico.
Primero que todo, esta muy bueno todo.
Mi pregunta es: Si no quiero enviar el mail, sino guardarlo en la base de datos y sin archivo, solo el texto. Que debo hacer?
Todo muy bueno, mi otra pregunta es: EN lugar de un INPUT, coloque un select, pero como puedo hacer para que ese select me aparezca ya con unos valores predeterminados.
Me he permitido modificar el script para que la creacion de los campos files funcionen mediante un combo, aqui el script modificado:
var optionAnterior = 0;
// Funciones comunes
c= function (tag) { // Crea un elemento
return document.createElement(tag);
}
d = function (id) { // Retorna un elemento en base al id
return document.getElementById(id);
}
//esta función obtiene el número de campos a agregar/eliminar y resta o suma dependiendo
//del número elegido en el combo y por lo tanto ejecuta la funcion correspondiente
controlador = function (combo) {
if(combo.value != 0){
container = d('files');
var optionActual = combo.selectedIndex;
optionAnterior = container.childNodes.length;
if(optionActual > optionAnterior){
cantidad = optionActual-optionAnterior;
agregarCampo(cantidad);
}else{
cantidad = optionAnterior - optionActual;
quitarCampo(cantidad);
}
}
}
//esta función se ejecuta cuando se quiere construir un campo file
constructor = function (){
span = c('SPAN');
span.className = 'file';
span.id = 'file' + (++numero);
field = c('INPUT');
field.name = 'archivos[]';
field.type = 'file';
}
//funcion para agregar un campo file
agregarCampo = function(cantidadAdd){
for(j=1;j<=cantidadAdd;j++){
constructor();//llamada a constructor
span.appendChild(field);
container.appendChild(span);
}
}
//funcion para eliminar un campo file
quitarCampo = function(cantidadQt){
for(k=1;k<=cantidadQt;k++){
var borrarlo = container.lastChild;
container.removeChild(borrarlo);
}
}
//carga el número de valores que contendrá el combo
//solo por pereza y para no tener que escribir cada uno con option
loadNumFiles = function(idCampo,num){
var img = document.getElementById(idCampo);
for(i=1;i<=num;i++){
img.options[img.options.length]=new Option(i,i);
}
}
Y el ejemplo lo pueden ver aqui Ver ejemplo
Hola, muchas gracias por el script Alex, muy util!
sobre esto te queria pedir tu permiso para su uso en un componente de formularios para joomla, indicando en el apartado de administracion tu copyright.
Muchas gracias!
Para lluss:
Para solucionar el problema de que te lleva al top de la pagina cambia " # " por " javascript:void(0); " (sin comillas ni espacios, y void(0) es cero) tanto en el codigo javascript (boton quitar) como en el html del boton agregar.
InterJoomla, puedes usar el código de la manera que quieras -- el código no tiene nada en especial como para que me queje de algo. 😉
Esta muy vacano el script, lo que no se es porque no me funciona, la parte que sube el archivo a una carpeta del servidor funciona perfectamente, pero el mail no lo envia, espero me pueda ayudar, no me saca error, que puedo hacer? mi correo es jaimebe@gmail.com, muchas gracias
Hola
exceletne el script, me ha fascinado
pero quiero ver si tu podrias poner el codigo solamente para que el formulario envie los datos con las iamgenes a una base de datos, ojala sea el script modificado donde pones la cantidad de imagenes en un combo,
yo no he podido hacerlo y llevo 2 semanas desentrañando tu codigo pero nada me resulta.
estaria agradecido
saludos
hola, oye sera posible que se en este codigo se pueda solamente enviar 3 archivos o 4?? es decir lograr que no pase de dar 4 clics para adjuntar archivos?=??
Porfa, espero me puedas ayudar!! Gracias.. pisd14@hotmail.com
ya vi como muchas gracias.. YA QUEDO.
Pero ahora como hago para que despues de enviarse me diriga a otra pagina???
no me envia el mail, me dice
Could not instantiate mail function.
No se pudo enviar el email
no se como arrglarlo, me podrias dar un tip?
Hola alex,
Me gusto mucho tu código , pero quisiera saber si tienes la versión para los que somos usuarios de flash .
Muchas gracias si me puedes ayudar.
Alex, he visto que te preguntan ¿como agregar mas campos al formulario" y yo soy uno mas...
Te agradeceria hasta la extenuacion si me indicases como hacerlo tu ejemplo me parece buenisimo pero no se como añadir mas campos al formulario y que me lleguen bien
Necesito incluir campos como persona de contacto, numero de telefono etc... y no tengo ni idea
Gracias anticipadas
hola, he estado con tu ejemplo probandolo y la verdad entre que mis conocimientos son minimos de php, me funciona perfectamente pero quisiera que de salida salgan 2 casillas input tipo files, no dar la posibilidad de añadir mas adjuntos solo 2, y no tengo ni idea de como hacerlo.
gracias
Esta muy bueno, pero no funciona en Internet Explorer!!!
ESta muy bueno, en Mozilla funciona perfecto pero en Internet explorer no!!!
Hola, quisiera preguntarte si es posible, hacer este envió no a una persona , si no a una base de datos de mysql, y de ser posible como tendrian que ser la s modificaciones
Me puedes decir, cuales son las cosas negativas de esto.
Tema tipo servidores, que se colapsan, los archivos demasiado grandes, que pasa con ellos.
etc...
Hola primero muy bueno el script
quisiera saber como se podria hacer
para que en el cuerpo del mail se conforme asi
mensaje desde
telefono:
mail:
apellido
se que se hace mediante esto
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Enviado desde RNB Diseno.- \n";
$cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "E-mail: " . $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "Telefono: " . $HTTP_POST_VARS["telefono"] . "\n";
$cuerpo .= "Mensaje: " . $HTTP_POST_VARS["mensaje"] . "\n";
peo no se donde ponerlo
gracias
hola quisiera saber como componer el cuerpo del mail
o sea poner
telefono:
mail:
que me llegue asi el mail
hola el formualrio me funciona barabro
lo que quiero saber es como generar un cuerpo en el mensaje
que recopile los datos de la persona
nombre:
mail:
creo que se hace asi
$cuerpo = "Enviado desde RNB Diseno.- \n";
$cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "E-mail: " . $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "Telefono: " . $HTTP_POST_VARS["telefono"] . "\n";
$cuerpo .= "Mensaje: " . $HTTP_POST_VARS["mensaje"] . "\n";
pero no se donde integrarlo
perdon no quise escribir tres veces hice algo mal
hola me gustaria saber si me podrias mandar por mail el codigo con mas campos y que se vean en el cuerpo del mensaje
te lo agradesco
mandamelo a
rodrigonbertin@gmail.com
Hola cuando activo la linea para el upload:
move_uploaded_file($tmp_name, "../../libros/pdf/$name");
me adjunta el archivo pero no me envia el mensaje,
si no adjunto archivo me envia el mensaje.
Como puedo solucionar este problema?
Gracias.
Hola Alexx, he visto tu formulario y me parece de lo mejor...soy nuevo en esto del php y he subido todos los archivos zip que incluistes al servidor, en aparciencia todo funciona bien pero no recibo el mail a mi correo electronico ni mucho menos sube al archivo al servidor.
Agredeceria me ayudaras al respecto ya que he hecho todo lo que tu indicas en este sitio pero nada me ha funcionado el codigo que tengo es:
Código Editado
junto con los archivos class.phpmailer y class.smtp pero no funciona........
Hola, espero me puedan ayudar, estoy tratando de hacer funcionar este formulario y no lo he logrado, esta es la información del entorno:
1.- Windows Server 2003 R2
2.- IIS
3.- PHP 5.2.6 configurado con IIS
4.- El root del www esta en c:\inetpub\wwwroot
5.- PHP se instaló en c:\Archivos de programa\PHP
6.- Los archivos del formulario class.phpmailer.php, class.smtp.php y uploader.php se colocaron en una carpella llamada "consultas" en el root del www
7.- El formulario en internet se ejecuta en http://n3.com.mx:81/consultas/uploader.php
Respecto al problema, cuando ejecuto el formulario se muestra el mensaje "No se pudo enviar el email" por arriba del campo de "para" y efectivamente no se procesa el mensaje correspondiente.
Estoy empezando a trabajar con PHP asi que practicamente no se nada, quisiera saber si hay algún registro que me permita localizar el error o por donde es que debo empezar a buscar algun problema de configuración o en su defecto cuanquier ayuda que me puedan brindar.
De antemano muchas gracias
Felicitaciones. Quisiera conocer la manera que a la hora de crear un nuevo campo para subir un archivo, ademas se conforme un control tipo list/menu, la idea es que se suba el archivo y a la vez se puede optar (ej) si es para el departamento administracion o el departamento comercial.
Hola Alex... nuevamente te escribo para solicitarte los codigos que incluyen mas campos al script, incluyendo un list/menu con sus valores. Desde ya muy agradecido. mi correo es rafael.garau[@]gmail.com.
Hola qué tal, muy bueno el tutorial, me gustaria qué nos enseñaras a ponerle un captcha al formulario, como el qué tienes en el ejemplo ...
Seria muy util de verdad, por eso del spam, nunca faltan los trolls... Gracias.
Hola qué tal, muy bueno el tutorial, me gustaria qué nos enseñaras a ponerle un captcha al formulario, como el qué tienes en el ejemplo, aparte qué quiero aprender a usar captchas...
Seria muy util de verdad, por eso del spam, nunca faltan los trolls, estan por todas partes.
Gracias por el tutorial me sirvio mucho...
genial, funciona perfectamente!
kisiera ver si alguien me puede ayudar en como poner una plantilla con mi foto en hispanito o en hi5 por favor desde ya muchas gracias besos paola....
no entiendo mucho de esto... e subido mi foto en hi5 pero cuando lo voy a poner de fondo no sale la imagen
Buenas tardes desde chile,
me funciona bien el codigo, me envia el maily el archivo adjunto pero me cambia el nombre del archivo, agregandole "basura" al comienzo de éste.
Reugo alguna posible causa y sobre todo posible solución
de antemano gracias
Alex, ya he logrado todo, inclusive puedo agregar mas campos que es lo que me venía andando mal, ahora a mi no me gustaría que me dijerna mensaje enviado y me detalle los archivos ahi sino que al enviar me fuera a una pagina de resultado por ej. un gracias.php .. no me doy cuenta donde hay que poner el header("Location: actualizaciones2.php"); y en ese caso debo quitar algo? por ej para que no me apareciese lo deenviado y los archivos sino que directamente me lleve a la pagina de resultado..
un abrazo grande
EXCELENTE, ME PIDIER>ON ALGO = Y SI ME SIRVIO MUCHO GRACIAS POR TU APORTE
Cuando necesitaba enviar más de una foto, iba a adjuntar y me aparecia abajo "archivo y Foto" Pinchaba foto y me iba a una carpeta donde podia seleccionar varias fotos. Ahora al pinchar adjuntar, no me aparece la indicación de archivo y foto, por lo que no me permite elegir. Me lleva directo a una carpeta donde solo me permite enviar fotos de a una. Que puedo hacer para volver a la forma anterior ???? Mucho agradeceré me ayude!!!
GRACIAS !!!!!!!!!!
Hola Alex, subi los archivos "uploader.php, class.smtp.php y class.phpmailer.php" e hice una prueba de envio. En principio va todo bien, lleno el formulario con los datos, selecciono el archivo que deseo adjuntar, y oprimo el boton ENVIAR. Al rato aparece una leyenda en la parte superior de la pagina que dice:
Mensaje Enviado
* 1191409786_image005.jpg
El problema es que nunca llega nada, ni el mail ni obviamente el adjunto.
Me podras decir que puede estar pasando.
Desde ya Gracias
Gallo
Hola a todos y felicidades a Alex aunque no sé si estarás por aquí... ya que el script lo publicaste junio del 2005. 4 años!! Funciona de puta madre, el único problema que tengo es que: o manda el email o sube el archivo al servidor, pero no consigo que haga las dos cosas a la vez. Alguna sugerencia? Muchas gracias
Alex:
Primero, decirte que es un excelente script, me funciona perfecto. Mi consulta es: en tu ejemplo tienes un captcha, pero aunque no lo agregue se envía el formulario; he intentado agregarle el captcha pero de todas formas se lo salta, es decir, lo escriba o no.
Te agracería, si no es molestia, me indicaras en donde y cómo debo agregarlo en el script.
Desde ya, muchas gracias por tu atención
Aquí os dejo otro ejemplo
http://jpsprogramacion.blogspot.com/2011/07/envio-de-email-con-aspnet.html
Gracias amigo, me ayudo mucho
buenas tardes,
Necesito ayuda con urgencia,hice un index, y al enviarlo por correo nadie lo puede ver, a modo que le envie la carpeta de imagenes, mi pregunta es, debo subir el index a un hosting y recien ahi podre solo mandar el index por correo y el destinatario podra verlo? o hay alguna otra forma sin tener que subir el index (htlm) para que cuando lo envie por correo, el que lo descarga puedo abrirlo?
porfa ayuda...
saludos a todos!
Muchas gracias!!!
[...] Tengo un javascript que añade un Field al clicarle, que lo utilizo para subir varias imagenes a mi servidor, y funciona correctamente, os pongo el código a continuación: (Código obtenido de http://www.buayacorp.com/archivos/en…l-estilo-gmail) [...]
[...] Tengo un javascript que añade un Field al clicarle, que lo utilizo para subir varias imagenes a mi servidor, y funciona correctamente, os pongo el código a continuación: (Código obtenido de http://www.buayacorp.com/archivos/en…l-estilo-gmail) [...]
Hola ALEX, muy agradecido por la info y conocimientos compartidos, soy NOVATO en sto me gustaria q me envias a mi correo los archivos CORREGIDOS de poder Adjuntar Varios Archivos y como es sobre crear una tabla enla BD reigistrar la referencia o direcion del archivo, spero no causarte molestias, desd ya mu agradecido
Hola, gracias el script me funciono perfecto, pero tengo una duda yo tengo un servidor donde puedo guardar archivos, como seria posible guardar los adjuntos en dicho servidor y enviar adicionalmente el link en el mensaje para que lo descarguen
y muchas gracias por tu ayuda 🙂
Hola gracias por el script , lo estoy usando , pero me da un error cuando lo quiero correr en firefox, desde google crome y safari funciona perfecto. pero en firefoz se queda esperando respuesta del servidor, tenes idea que peude ser? muchas gracias
Excelente el script, lo necesitaba urgente, sólo tengo un problema, necesito validar los datos, es decir, que si llenaron los campos antes de enviar, esto lo se hacer poniendo un
onClick
en el botón enviar, pero luego no sé como darle "submit", te agradezco la ayuda!