Acá va otro update del formulario de contacto en PHP. La nueva funcionalidad permite cargar un archivo y enviarlo como attachment del email usando PHP. Esta versión es en realidad una actualización de la v2. Ahora, además de copiar el archivo en el servidor y enviar el link al archivo en el mail, el script va a enviar el mail adjuntando el archivo del usuario.
Para agregar esta funcionalidad, el formulario utiliza la clase PHPMailer para el envío y proceso. La clase PHPMailer es un script PHP que permite infinitos usos a la hora de procesar envíos de mails con PHP. Se puede usar un determinado servidor SMTP, adjuntar archivos,
Es solo un ejemplo de una posible implementacion de PHPMailer
La clase se puede descargar desde http://phpmailer.sourceforge.net/ Junto con mas ejemplos y documentacion.
La configuración es muy sencilla, sólo deben descomprimir los archivos y editar las primeras lineas del archivo contactenos-v3.php. Luego deben crear una carpeta llamada “archivos”, y asignarle CHMOD 777. Hay que mantener el archivo class.phpmailer.php en el mismo directorio. El archivo class.smtp.php nos va a permitir realizar configuraciones adicionales, como utilizar otros servidores SMTP llegado el caso.
—————————————-
ACTUALIZACION 17-01-2008
Debido a varias preguntas, he subido una versión del formulario que no valida los campos, ni el tamaño, ni el formato del archivo.
—————————————-
Ejemplos:
Formulario para envio de mail con archivo adjunto. (con validación de datos)
Formulario para envio de mail con archivo adjunto. (SIN validación de datos)
Descargar:
contactenos-v3.zip (con validación de datos)
contactenos V3.1.zip (sin validación de datos)
Espero que les sirva.
Hola diego
Mira a mi me paso lo mismo con otra pagina, usando ese mismo formulario me llegaban los campos de E-mail, Nombre y demas vacios, aunque si me llegaba el formato del mensaje.
Investigando y probando en otros servidores, me di cuenta de que los permisos que tenia en la carpeta desde donde llamo al formulario no se modificaban. Hable con mi proveedor, me arreglo ese detalle y el formulario funciona bien. Quiza por ahi podrias encontrar la solucion.
gracias por los comentarios!
estuve revisando los formularios y arregle un bug que hacia perder el nombre y email en el cuerpo del mensaje.
estan actualizados los archivos de descarga con los arrelgos.
saludos!
echame la mano me marca el siguiente error
Warning: copy(archivos/administrador-1478228476.jpg) [function.copy]: failed to open stream: No such file or directory in /home/dgcontro/public_html/PRUEBAS/contactenos-v2.php on line 67
cambie a permisos 777, Y SE CREO LA CARPETA ARCHIVOS
que podra estar mal?????
para sabe r cuando repondan mi mail es branimlm@hotmail.com
Hola que tal buenas tardes esta excelente el formulario, pero una consulta necesito agregar tres campos mas, me podria ayudar en donde tengo que hacer los cambios yo agregue pero me sale error al momento de enviar, espero que ustedes me puedan ayudar muchas gracias estare a la espera. saludos
hola la verdad que soso muy amable en compartir tus conocimientos::: me alegra ver gente como vos…
Solamente gracias.. te tengo de ejemplo CAPO
Señor, es usted un Dios, muchisimas gracias por este aporte, me haz salvado de una gigante, si tienes una cuenta de paypal para hacerte un aporte simbolico me sentiria muy bien.
Muchisimas gracias, eres grande!!!!
hola…oye
como va el directorio
contactenos-v3.php eso afuera
dentro de carpeta CHMOD 777
junto con carpeta archivos y meter las otras cosas
Hola
he intentado crear un formulario de contacto pero no puedo y no se que es lo que estoy haciendo mal
porfavor orientame
esta es la pag http://www.constructoraangelmo.cl/Constructora/contacto.php
saludos
excelente! me sirve para nformar pagos :)
saludos
Hola muy buen aporte. Me adjunta la imagen y la envia al servidor. Pero por mail no me llega. Gracias.
Hola que tal, como puedo modificar el archivo para un servidor pop3???
SALUDOS.
nada
Te agradezco mucho tus aportes…sin embargo soy nuevo en esto, y claro, al usar copiar y pegar no me funciono.
Te molestaria ayudarme?
La idea es colocar por ejemplo en el cpanel del Sitio, en public_html una carpeta llamada archivos y dentro de ella los “class.smtp.php” y “class.phpmailer.php”??? no entendi bien….hice las modificaciones del correo electronico para que me llegara de prueba y nada.
Ademas cambie (en un segundo intento) el nombre de usuario y host del codigo que tu nos brindaste, por los de acceso del cpanel de mi sitio…
Estoy muy enredado y pido disculpas por la falta de conocimiento, pero agradeceria infinitamente tu ayuda
mi mail por siacaso thekinghectorsalive@gmail.com
Gracias! es muy útil, pero tengo una pregunta, como puede agregar a una pagina ya hecha tu formulario? es decir, insertarlo en alguna parte de la pagina? espero no ser molesto
gracias!
Muchas gracias por el formulario, tengo dos dudillas
si envio un zip al formulario al clickear el link me abre una pagina en blanco buscando la aplicacion, como podria elimiarno
y mi segunda prpegunta es como puedo enviar un mensaje a la dirección de correo que has enviado con un mensaje.. gracias por enviar el formulario, en breve nos pondremos en contacto con usted, muchas gracias.
GRACIAS
Hola Alfonso:
estoy tratando de bajar el formulario de contacto y te adelanto que soy nuevo en esto, quisiera saber como hago para asignarle CHMOD777 a la carpeta “Archivos”. Muchas gracias.
jjjjjj
Puedes cambiar los permisos de la carpeta “archivos” desde tu programa FTP, (yo uso FileZilla) seleccionando “permisos del archivo…” del menú contextual al darle clic alterno sobre la carpeta.
Si no usas FileZilla, puedes cambiarlos directamente desde el navegador de archivos de tu cpanel.
Espero haberte aclarado algo.
Acabao de descargar el formulario, voy a probarlo pero a juzgar por los comentarios parece que funciona muy bien.
Hola: tengo un sitio construido con ferozo, el mismo esta alojado en Dattatec, a pesar de la mala prensa que tiene, el servicio funciona muy bien ,lo que es muy deficiente es el soporte tecnico, jamas te solucionan una consulta. Mi sitio es de propiedades en alquiler, por ahora estoy utilizando el formulario tradicional, este me llega a mi y yo lo reenvio al propietario correspondiente. Lo ideal seria poner en cada propiedad un formulario para que sea directamente enviado al propietario . Se que puede hacerse con PHP, pero no he tenido exito con los intentos. desde ya muchas gracias por tu atencion.
Ya me funciono , solo deseo saber como le hago en mi codigo php para que una vez que se haya enviado me direccione a la pagina de inicio de contacto , les voy agradecer mucho y donde lo acomodo.
Saludos.
Hola esta muy bueno tu formulario, pero quisiera saber si me puedes ayudar para combinar la opcion de adjuntar archivo a un formulario que ya estoy usando, el cual me funciona bien pero quisiera permitir que mis clientes me envien un archivo adjunto. Muchas gracias…
Mi codigo PHP es:
Muchas gracias por este código, no soy diseñador web, soy escritor y quería adicionar un formulario sencillopara una página y funcionó a las maravillas. Muchas gracias, estoy agradecido. En lo que requiera de escritura o corrección de estilo estoy a la orden, ha sido fantástico encontrar personas como usted que disfrutan por transmitir el conocimiento. Muchas gracias.
muy bien por el codigo nada mas que no e podido usarlo porque me aparece esto:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request
soy muy novato pero no se que me falto :(
Alfonso, no sabes lo mucho que te agradezco por proporcionarnos tan maravilloso código, me he pasado todo el dia desde las 9:00 am hasta que finalmente di con el y me ha funcionado maravillosamente, muchisimas gracias.
hola amigo tengo problemas para poder crear una biblioteca virtual. en la que tengo que dar al usuario una opsion para poder subir los libros a una nueva pag. y mostrarlos en hotra todos los libros que tengo dentro del formulario
mi correo personal es jose-arg1989@hotmail.com
Me salvaste la vida. Eres un genio. Espero no caiga tu web esta de lujo.
Queria saber si me puedes ayudar en lo q es agregar una auto respuesta para el formulario, es decir q le llege a la persona q llena el formulario un correo indicando q pronto me comunicare con el.
Gracias
oye como puedo instalar este contacto en un pagina de wordpress este es mi correo personal
master7097@hotmail.com espero y me puedas ayudar
Gracias por el aporte me funciono de maravillas!
Hola:
Antes que nada les comento que no tengo mucha idea de diseño y lenguajes.
Hasta hace unos dias en mi sitio web tengo un formulario donde me pueden enviar mensajes, pero dattatec cambio algo del php y ya no funciona, les puedo enviar los archivos para ver si alguie me los puede arreglar. Gracias
Hola Alfonso Catrón, gracias por compartir este formulario en nuestro idioma.
Podrias por favor decirme, como podria hacer para agregar otros campos?? Necesito agregar 2 campos normales de texto y 2 mas para subir imagenes, podrias indicarme como hacer??.
Estare pendiente!! y disculpa la molestia.
Me salvaste la vida, bueno es una forma de hablar llevaba bastantes dias intentando implementar, un formulario con archivo adjunto, tanto la versión 2 como la 3 funciona perfectamente sigue así.
Salu2
hola yo kisiera hacerle a mi web http://www.rockdegarage.com.ve una aprte de comentarios que en cada articulo la gente pueda agregar comentarios comentar debidamente registrados.. gracias ahh y excelente formulario tiempo buscando uno asi para un blog.
otra cosa amigo podrias por favor marcar con ROJO la linea que se va a modificar ejemplo, en tal sitio cambias este correo por el tuyo, aqui pones la direccion de tu web y asi sucesivamente
gracias pana. saludos desde venezuela
y comos e configura el php mailer
Muy bueno el formulario, pero necesito saber en que versión de PHP esta escrito este formulario.
Gracias!!
hola, como tendria que hacer con el codigo para que el e-mail se envie a dos correos simultaneamente? espero su ayuda, desde ya muchas gracias ! me sirvio de mucho
Hola,he diseñado mi web con una plantilla y dreamweaver en html.Estoy buscando una plantilla de formulario,a ser posible con archivo adjunto.He visto que los archivos que has colago son en php.Pero yo no se como hacer mi htlm y referenciarlo a tu php.Gracias.
Hola,
Estoy usando el formulario y funciona de maravilla. Gracias por la ayuda :D, solo una duda… necesito adjuntar archivos con la extensión “.docx” que es de Word, ya hice el “case” correspondiente en el archivo php pero aún así, no me deja adjuntar estos archivos, debo modificar algo más? o debo modificar algo directamente en mi servidor?
Cualquier ayuda será útil. De nuevo mil gracias por el script, bye.
dacm,
Hola amigo…
¿como se configura para que requiera autenticacion de smtpy asi evitar envio de spam?
muchas gracias.
Estimados! este formulario funciona de maravilla y realmente es muy bueno. pero hay algunas cosas que a simple vista no se pueden arreglar editando el codigo. ya hay varios que dicen que el mail no les llega y eso es sencillamente por que el servidor donde alojan el php para el envio del mail requiere autentificacion smtp, en este caso es lo que me esta pasando a mi. eh tratado de editar los archivos para poder realizar el envio pero no lo he podido solucionar, si alguien pudo favor que diga que se edita para la autentificacion
saludos
Estimados
para agregar autentificación con smtp deben agregar el siguiente código en el sector “//recogemos las variables y configuramos PHPMailer”
$mail->IsSMTP();
$mail->Host = “localhost”;
$mail->SMTPAuth = true;
$mail->Username = “tucuentademail”;
$mail->Password = “tupassword”;
agregando eso se soluciona lo de al autentificación
saludos!
Muchas Gracias por el aporte Esteban!
Estimado Alfonso! gusto en saludarte,
he estado ya una tarde trabajando con tu formulario y funciona muy bien! logre hasta adjuntar mas de un archivo y todo ..
el problema es que trate de agregar mas campos para el envio y los mails nunca llegaron .. por deducción y haciendo pruebas y error logro decifrar que cuando le ingreso mucho texto a la variable $contenido este simplemente no envia los mails!
tu sabes como puedo solucionar esto? o te ha pasado ..
estoy haciendo un formulario con 15 campos y solo puedo hasta el momento 3.. sin contar el texto que tendría cada caja de texto ..
saludos y espero haber si tienes comentarios
saludos
Hola Esteban,
para agregar más campos, acordate que además de crear los inputs en HTML, tenés que recoger esos inputs en nuevas variables usando POST, y pasar esas variables.
Los campos se están recogiendo en donde dice
//recogemos las variables y configuramos PHPMailerPor ejemplo, si tenés un input llamado ‘provincia’, vas a tener que recogerlo con
$provincia=$_POST['provincia'];y donde está la parte de “//armamos el html”, agregar una linea por cada campo que agregaste, así llega en el email.
$contenido .= 'Provincia: '.$provincia.'';También estaría bueno agregar un validar los campos antes de enviar el formulario, para evitar spammers y otros problemas.
Saludos!
Hola!! muy bueno el form, ando adaptandolo un poco y me gustaria saber si hay la posibilidad de quitarle la validación al campo de archivo solamente! gracias!
un saludo
Buenas. Felicidades por el tutorial, está genial.
Quería preguntarte si hay alguna forma de que los archivos no se vayan acumulando en la carpeta del servidor y se vayan eliminando. Es posible?
Tengo mis duds el formulario se ve excelente, pero y si no quiero adjuntar nada como quito esa secuencia????
ers un groso…. gracias