Autoriser un visiteur à envoyer un fichier par courrier électronique Formulaire HTML avec PHPMailer

  • Joseph Goodman
  • 0
  • 1967
  • 291
Publicité

Alors que l'Internet est devenu une communauté où la plupart d'entre nous discutent et échangent des idées sur des articles lus dans des zones de commentaires, des forums et par e-mail, il existe également d'autres cas où des commentaires sont nécessaires, et ces méthodes ne sont pas assez efficaces. Parfois, un webmaster doit simplement permettre à un visiteur de site Web d'envoyer un fichier par courrier électronique. Si vous y réfléchissez, fournissez une zone de commentaire ou “livre d'or” est simple ces jours-ci.

Si vous avez juste besoin d'un formulaire avec des champs de texte pour que vos visiteurs puissent formuler des commentaires ou envoyer des demandes et des commentaires, jetez un coup d'œil à l'article que j'ai écrit 3 Générateurs de formulaires de contact gratuits pour votre site Web 3 Générateurs de formulaire de contact gratuits pour votre site Web des générateurs qui devraient faire l'affaire.


Cependant, si vous avez besoin de la fonctionnalité ajoutée d’un “fichier” un champ dans lequel vos visiteurs peuvent joindre un fichier - vous devrez alors sortir un sac différent d’astuces. Dans cet article, je vais vous expliquer quelle est, à mon avis, l'approche la plus sécurisée à utiliser. Ensuite, je vais vous montrer comment utiliser un outil gratuit très cool sur votre site Web qui vous permet d'intégrer cette fonctionnalité à votre site. propre site web.

Méthodes pour envoyer un fichier par e-mail formulaire HTML

Vous pouvez avoir besoin des visiteurs de votre site Web pour vous envoyer un fichier pour de nombreuses raisons. Peut-être acceptez-vous les candidatures et les CV. Vous êtes peut-être un éditeur et souhaitez fournir un moyen rapide aux auteurs de soumettre leurs nouvelles. Quelle que soit la raison, la transmission instantanée de fichiers est à la fois un inconvénient pratique et un risque pour la sécurité. Elle doit donc être gérée correctement..

Il existe un élément de la balise FORM qui vous permet de télécharger un fichier sur votre serveur via la méthode POST. Vous aurez besoin d’un script (ACTION) pour le traiter et le stocker dans un répertoire de votre serveur. W3Schools fournit un exemple vraiment utile de la procédure à suivre pour utiliser PHP, ce qui, à mon avis, était bien présenté et assez facile à suivre si cette approche vous convient.

Cependant, même si j'ai toujours préféré PHP aux autres scripts, je ne me sens pas vraiment en sécurité de laisser mes visiteurs télécharger un fichier sur mon serveur. Il existe des moyens de sécuriser davantage le processus et de bloquer les spammeurs, mais je suis toujours un peu inquiet du potentiel de virus ou autres fichiers malveillants. Pour cette raison, je préfère vraiment que la soumission du formulaire soit emballée dans un courrier électronique et envoyée à moi..

Mon système de messagerie possède un excellent scanner de virus pour les pièces jointes. Je sais donc que je peux manipuler les fichiers avec précaution en utilisant cette approche. C'est pourquoi je me suis tourné vers la solution gratuite appelée PHPMailer-FE. Il s’agit d’un produit faisant partie d’un projet open source plus vaste (veuillez faire un don si vous utilisez le formulaire!)

J'ai décidé de choisir une solution pré-développée, car honnêtement, même si je sais comment créer un formulaire et le transmettre à un script que je pourrais écrire pour traiter l'information - pourquoi réinventer la roue alors qu'il existe de tels outils PHPMailer en fait partie..

Télécharger et configurer PHPMailer

Lorsque vous téléchargez le fichier Zip, vous découvrez 3 dossiers. - _lib, DOCS et sample_forms. Maintenant, les développeurs offrent une quantité incroyable de documentation sur leur site et dans les forums de développeurs. Mais, pour être honnête, vous n'avez pas vraiment besoin de beaucoup changer pour obtenir un formulaire simple qui fonctionne sur votre site..

dans le “sample_forms” répertoire, vous trouverez quelques exemples que les développeurs ont déjà créés pour vous. Dans cet article, je vais installer l'exemple form.html et le faire fonctionner avec seulement quelques configurations mineures. Si vous n'avez pas la possibilité de modifier des fichiers sur votre compte d'hébergement Web, passez directement aux modifications avant de télécharger les fichiers. Sinon, vous pouvez d'abord télécharger les fichiers.

Conservez la même structure de répertoires et assurez-vous que le fichier HTML contenant le formulaire ne contient qu'un répertoire. Si vous voulez autrement, vous devrez changer la manière dont le formulaire fait référence au script PHP (voir ci-dessous). En fait - je me suis trompé quand j'ai téléchargé, vous n'avez vraiment besoin que du dossier _lib et du fichier HTML - le dossier DOCS est simplement pour votre information.

Allez dans le dossier _lib et éditez le form.config.php fichier. C'est là que vous pouvez vraiment ajuster le comportement de votre formulaire. La seule modification requise est de configurer l'emplacement de la publication. J'ai aussi ajouté le “assujettir” champ, parce que je veux utiliser ce formulaire sur plusieurs sites Web et que, lorsqu'il arrive dans ma boîte aux lettres, je veux savoir d'où il vient - la ligne Objet vous indiquera que.

Pour activer l'une de ces fonctionnalités, il vous suffit de supprimer le code de commentaire. “//” et vous êtes prêt à partir.

Un exemple de la forme en action

Pour illustrer le formulaire, j'ai copié l'exemple form.html sur mon site. Voici à quoi ça ressemble.

J'aime cela… regardez à quel point le formulaire est simple et vous pouvez l'intégrer où vous le souhaitez sur votre page Web. Il a “Champs obligatoires” les fonctionnalités des champs de sorte que l'utilisateur ne puisse pas soumettre le formulaire sans au moins proposer son nom et son adresse électronique. Bien entendu, il a exactement ce que nous recherchons - deux champs de téléchargement dans lesquels le visiteur peut joindre jusqu'à deux fichiers. Voici à quoi ressemble l'exemple de code FORM (il s'agit du formulaire que vous intégrerez dans votre propre page Web).

Vous pouvez prendre cela de deux manières. Soit copier tout le code dans le form.html Exemple de fichier à partir de la balise vers le bas, ou vous pouvez simplement extraire les éléments FORM et les insérer dans votre propre formulaire personnalisé, mis en forme comme vous le souhaitez. C’est très probablement l’approche que je vais adopter.

La seule partie critique de ceci est que le “action” devrait pointer vers l'emplacement du “phpmailer-fe.php” scénario. Maintenant que j'ai le form.html prêt à partir, et le fichier de configuration de formulaire personnalisé pour envoyer à mon adresse e-mail et inclure un sujet, il est temps de tester et de voir ce qui se passe. Je suis allé au formulaire et soumis juste mon nom, email, et joint une photo d'un loup. Une seconde ou deux après la soumission du formulaire, voici ce qui est arrivé dans ma boîte de réception.

Vous remarquerez que l'en-tête du courrier électronique contient l'expéditeur comme adresse électronique entrée dans le formulaire et la ligne d'objet vous indique quel site Web a envoyé le formulaire. Le meilleur de tous, regardez ce qui est attaché à l'email.

Sucré! Ainsi, avec seulement quelques modifications mineures dans les fichiers de configuration, vous pouvez désormais autoriser vos visiteurs à envoyer un fichier via un formulaire HTML par courrier électronique - sans avoir à écrire une seule ligne de code..

Personnaliser le comportement de votre formulaire

Avant de conclure, il y a une petite chose qu'il est important de modifier si vous voulez que le formulaire paraisse professionnel. Actuellement, après une soumission réussie, le visiteur est redirigé par défaut vers cette page Web amusante..

Qui a animé “En traitement… ” Le bit est en fait juste un GIF animé - il n’ya pas de magie derrière. Cette page est définie dans le form.config.php fichier que j'ai référencé ci-dessus. Pour personnaliser les pages de réponse, ouvrez simplement à nouveau ce fichier, supprimez les barres de commentaire. “//” pour ces champs et remplacer le”replyemailfailed.html” entrée et la “replyemailsuccess.html” entrée avec vos propres pages Web personnalisées de réussite ou d'échec.

Je suggérerais certainement de parcourir ce fichier de configuration et d'explorer toutes les façons dont vous pouvez modifier le comportement de ce formulaire. PHPMailer est un script de traitement de formulaire préemballé très polyvalent et utile que vous pouvez utiliser à diverses fins sur votre site Web. Pourquoi réinventer la roue alors que quelqu'un a déjà inventé une voiture aussi performante et performante? Tout ce que vous avez à faire est d'entrer et de conduire!

Avez-vous une utilisation de PHPMailer sur votre site web? Utilisez-vous vos propres outils ou techniques pour ajouter facilement des formulaires à votre site où les visiteurs peuvent joindre des fichiers? Partagez vos idées dans la section commentaires ci-dessous.




Personne n'a encore commenté ce post.

De la technologie moderne, simple et abordable.
Votre guide dans le monde de la technologie moderne. Apprenez à utiliser les technologies et les gadgets qui nous entourent chaque jour et à découvrir des choses intéressantes sur Internet.