Permitir que un visitante para enviar un archivo a través del formulario de correo electrónico html con phpmailer

Aunque la Internet se ha convertido en una comunidad donde la mayoría de nosotros conversar e intercambiar ideas sobre los artículos que leen dentro de áreas de comentarios, foros y por correo electrónico, también hay otros casos en los que es necesaria la retroalimentación, y esos métodos no son lo suficientemente buenos. A veces un webmaster simplemente necesita para proporcionar la capacidad de un visitante del sitio Web para enviar un archivo por correo electrónico. Si se piensa en ello, que proporciona un área de comentarios o “libro de visitas” es simple en estos días.

Si sólo necesita un formulario con campos de texto para que los visitantes pueden proporcionar comentarios o enviar peticiones y comentarios, echar un vistazo a la artículo que escribí en forma generadores de contacto libres que debe hacer el truco.3 Generadores libre formulario de contacto para su página web3 Generadores libre formulario de contacto para su página webLee mas


Sin embargo, si necesita la funcionalidad añadida de un campo “archivo”, donde los visitantes pueden adjuntar un archivo - entonces usted va a tener que sacar una bolsa de trucos diferentes. En este artículo voy a explicar por qué enfoque de hacer esto que siento es el más seguro, y luego voy a mostrar cómo utilizar una herramienta gratuita muy fresco en su sitio web que permite incorporar esta característica en su propio sitio web.

Métodos para enviar un archivo por correo electrónico de formularios HTML

Hay un montón de razones por las que puede necesitar sus visitantes del sitio web que le envíe un archivo. Tal vez usted está aceptando solicitudes de empleo y hojas de vida. Tal vez usted es un editor y desea proporcionar una forma rápida para que los autores presentan sus cuentos. Independientemente de la razón, la transmisión de archivos de forma instantánea es a la vez una mayor comodidad y un peligro para la seguridad, por lo que tiene que ser manejado de la manera correcta.

Hay un elemento de la etiqueta FORM que le permite cargar un archivo a su servidor a través del método POST. Usted necesitará un script (ACCION) para procesarlo y almacenarlo en un directorio de su servidor. W3Schools proporciona un ejemplo muy útil de cómo hacer esto utilizando PHP, por lo que pensé fue bien distribuida y bastante fácil de seguir si este enfoque más le convenga.

Sin embargo, aunque siempre he preferido PHP sobre otros scripts, realmente no me siento seguro dejar que mis visitantes cargar un archivo en mi servidor. Hay maneras que usted puede hacer el proceso spammers más seguros y de bloque, pero todavía se ponen un poco inquieto sobre el potencial de virus u otros archivos desagradables. Por esta razón, realmente prefiero tener el envío del formulario conseguir empaquetada en un correo electrónico y enviado a mí.

Mi sistema de correo electrónico tiene un excelente detector de virus para los archivos adjuntos, así que sé que puedo manejar con cuidado los archivos utilizando este enfoque. Es por esto que me di a la solución gratuita llamada PHPMailer-FE. Se trata de un producto que forma parte de un proyecto más amplio de código abierto (por favor done si se utiliza la forma!)

Vídeo: Formulario de contacto con la opción de adjuntar un archivo PHPMAILER

Decidí ir con una solución pre-desarrollado, ya que en honor a la verdad, a pesar de que sé cómo crear un formulario y pasarlo a un guión que podría escribir para procesar la información - ¿Por qué reinventar la rueda cuando hay tal bien desarrollado paquetes ya por ahí, y PHPMailer es sin duda uno de ellos.

Descargar & Configurar PHPMailer

Al descargar el archivo Zip, descubrirá 3 carpetas - _lib, documentos y sample_forms. Ahora, los desarrolladores ofrecen una increíble cantidad de documentación en su sitio y en los foros de desarrolladores. Pero, para ser honesta, no realmente tiene que cambiar mucho para conseguir una forma sencilla de trabajar en su sitio.

En el directorio “sample_forms”, encontrará algunos ejemplos que los desarrolladores ya han creado para ti. En este artículo voy a instalar el ejemplo form.html y conseguir que funcione con sólo unas pocas configuraciones de menor importancia. Si usted no tiene la posibilidad de editar archivos en su cuenta de alojamiento web, entonces pueden pasar directamente a los cambios antes de cargar los archivos. De lo contrario, puede cargar los archivos en primer lugar.

Vídeo: Curso de PHP 32 - Enviar emails con PHPMailer

Mantener la misma estructura de directorios, y asegúrese de que el archivo HTML con el formulario sólo un directorio arriba. Si quieres lo contrario, tendrá que cambiar la forma en la forma hace referencia al script PHP (véase más adelante). En realidad - metí la pata cuando he subido, sólo se necesita la carpeta _lib y el archivo HTML - la carpeta de documentos es simplemente para su información.

Ir a la carpeta y editar el _lib form.config.php archivo. Esto es donde realmente se puede ajustar con precisión cómo se comporta su formulario. La única edición requerida es configurar cuando el puesto se va a ir. También he añadido la “tema”Campo, porque quiero usar este formulario en varios sitios web, y cuando llega a mi buzón Quiero saber de dónde viene - la línea de asunto le dirá eso.

Para activar cualquiera de estas características, todo lo que tiene que hacer es quitar el código de comentario “//” y ya está bueno para ir.

Un ejemplo de la forma en la acción

Para demostrar la forma, he copiado el ejemplo form.html en mi página web. Esto es lo que parece.

Me encanta este ... mira lo simple es la forma, y ​​se puede incrustar en cualquier lugar que desee en su página web. Se ha “exigido” funcionalidad campo por lo que el usuario no puede enviar el formulario sin al menos ofrecer su nombre y dirección de correo electrónico, y por supuesto que tiene exactamente lo que estamos buscando - dos campos de carga, donde el visitante puede conectar hasta dos archivos. Esto es lo que el código de formulario de ejemplo se parece a (este es el formulario que incrusta en su propia página web).

Vídeo: Hacer un formulario con HTML, PHP y enviarlo con el SMTP de Google

Hay dos maneras que usted puede tomar esto. Copiar todo el código en el form.html archivo de ejemplo de la

La única parte fundamental de esto es que la “acción” debe apuntar a la ubicación de la “phpmailer-fe.php”Guión. Ahora que tengo la form.html listo para funcionar, y el archivo de configuración de forma personalizada para enviar a mi dirección de correo electrónico e incluir un tema, es el momento de probar y ver qué pasa. Fui a la forma y presenté sólo mi nombre, correo electrónico, y adjunto una imagen de un lobo. Un par de segundos después de enviar el formulario, esto es lo que llegó a mi bandeja de entrada.

Se dará cuenta de que el encabezado del correo electrónico tiene el remitente como la dirección de correo electrónico introducida en la forma, y ​​la línea de asunto le indica qué sitio web envía el formulario. Lo mejor de todo, echar un vistazo a lo que está adjunto al correo electrónico.

¡Dulce! Así, con sólo un par de muy leves modificaciones del archivo de configuración, ahora puede permitir a los visitantes para enviar un archivo a través del formulario HTML de correo electrónico - y usted no tiene que escribir una sola línea de código.

La personalización del comportamiento de su formulario

Antes de concluir, hay una pequeña cosa que es importante modificar si desea que la forma que aparezca profesional. Actualmente, tras la presentación exitosa, se refiere al visitante a esta página web de aspecto gracioso de forma predeterminada.

Que animó “Tratamiento…”Bit es en realidad sólo un GIF animado - no hay magia detrás de él. Esta página se define en el form.config.php presento hace referencia más arriba. Para personalizar las páginas de respuesta, simplemente abrir ese archivo de nuevo, quite el comentario de barras “//” para esos campos y reemplazar el”replyemailfailed.html”La entrada y el“replyemailsuccess.html”Entrada con sus propias páginas web personalizadas éxito o el fracaso.

Vídeo: Lección 13 Send Mail , enviar correo, Archivo adjunto , Laravel + Bootstrap + ajax

Sin duda recomiendo ir a través de ese archivo de configuración y la exploración de todas las maneras en que se pueden manipular cómo esta forma se comporta. PHPMailer es una secuencia de comandos de procesamiento de formularios pre-envasados ​​muy versátil y útil que se puede utilizar para una amplia variedad de propósitos en su sitio web. ¿Por qué reinventar la rueda cuando alguien ya ha inventado un coche tan bien hecha y de gran alcance? Todo lo que tiene que hacer es entrar y conducir!

¿Tiene un uso para PHPMailer en su sitio web? ¿Usted utiliza sus propias herramientas o técnicas para agregar fácilmente las formas a su sitio donde los visitantes pueden adjuntar archivos? Compartir su visión en la sección de comentarios.

Artículos Relacionados