Comment envoyer des mails HTML avec des pièces jointes depuis php

fermer la fenetre

Des Applications Performantes Sans Vous Prendre La Tête !

Recevez la formation "Développement Facilte" GRATUITEMENT
Avec tous les Codes Sources Commentés
 
(Les événements, la programmation orientée objets, les modèles de conception, Les éditeurs, les outils, 
l'efficacité, CSS3, HTML5, JavaScript, jQuery, Dojo...)

Renseignez votre prénom et votre adresse email ci-dessous :

Dans le cours précédent, vous avez appris à envoyer des mails directement depuis PHP. Dans cette nouvelle vidéo, vous allez carrément envoyer vos mails avec une ou plusieurs pièces jointes.

Tout est dans le cours vidéo ci-dessous.

[ppmaccordion][ppmtoggle title=”Afficher le texte de la vidéo”]

Comment envoyer des mails HTML avec des pièces jointes depuis php

Bonjour à tous et bienvenu sur Développement Facile

Comme vous avez l’habitude, on continu la série de cours dédiée au langage PHP, pour que vous puissiez acquérir toutes les bases du langage PHP, et à votre tour créer des sites Internet dynamiques, attractifs que vos utilisateurs adorent. Rappelez-vous le précédent cours était consacré à la fonction mail, là c’est la suite, vous allez justement apprendre à envoyer une pièce jointe avec votre mail, maintenant vous savez envoyer des mails au format texte simple, au format HTML, et là vous allez apprendre à envoyer des mails au format HTML. Au format avec une pièce jointe HTML et une pièce jointe.

Envoyer un mail au format MIME

Là vous voyez sur l’écran un rappel sur le MIME version content-type, l’encoding de votre message, je passe assez rapidement vu que c’est un rappel du dernier cours, texte simple, texte HTML, image JPEG, pardon excusez-moi, des données binaires, pareil, je vous laisse lire le PowerPoint, je vais aller directement à l’essentiel.

Encodage d’un mail

Rappelez-vous pour envoyer un mail avec une pièce jointe, donc on va dire que c’est la pièce jointe, il était nécessaire de l’encoder en base64, avec la fonction base64.

Et également il fallait découper la pièce jointe du mail en morceaux de 76 octets, ce que nous permet de faire la fonction chunk_split. C’est que vous allez apprendre à utiliser justement. Vous avez les données à découper, la longueur des morceaux, donc 76 par défaut, bien évidemment et le séparateur des morceaux, \r\n par défaut bien évidemment, vu que c’est pour créer la pièce jointe à votre mail, et donc la fonction chunk_split vous retournera la chaîne toute prête, découpée, et vous n’avez plus qu’à envoyer votre mail.

Ajout d’une pièce jointe

Donc comme je vous l’ai dit précédemment, l’envoie d’un mail avec une pièce jointe utilise le format Multipart MIME, donc pour envoyer un message multipart MIME avec la fonction mail, vous devez donc construire les différentes parties du message, les différentes parties de votre message, en respectant une certaine structure, le paramètre d’entrée de la fonction mail contient les entêtes standard, avec l’entête qui indique qu’il s’agit d’un message format Multipart MIME et comme je vous l’ai dit, les différentes parties du message doivent être séparées par une ligne vide \r\n.

Alors vous pouvez avec un seul mail, envoyer plusieurs pièces jointes, joindre plusieurs pièces jointes avec un seul mail, comme joindre plusieurs images, un document PDF, un document Word, et ensemble nous allons voir un exemple de code source ça va beaucoup plus vous parler.

Donc les destinataires vous connaissez maintenant, le sujet du mail, vous connaissez, les entêtes, vous connaissez aussi, un mail au format HTML en changeant la couleur et tout ça, vous connaissez, donc je vais vite, volontairement. Alors on encode notre message au format base64, et on le découpe, sachant que les options par défaut ça correspond à 76 octets pour les morceaux du mail, \r\n entre chaque morceaux donc on laisse les options par défaut, on l’appel directement, on a notre message, on renseigne les paramètres de la fonction mail et voilà le mail est envoyé, avec une pièce jointe, on change un peu les entêtes, on les adaptes, le message ici tout simplement, et ici on joint la pièce jointe tuto1.doc, ça peut être tuto1.PDF, donc vous joignez la pièce jointe, vous précisez bien le type, transfert encoding base64 ça a un attachement donc une pièce jointe, le nom du fichier joint, vous récupérez le contenu avec la fonction getContent(le nom de votre fichier) avec le bon chemin bien évidemment parce que ça va appeler votre fichier doc sur votre serveur, récupérer les infos, bien évidemment, pour utiliser base64 pour find head, findsplit pour découper votre pièce jointe, là vous la découpée en morceaux de 76 octets séparés par \r\n, et ensuite vous l’ajoutez à votre message votre pièce jointe tout simplement, et il ne vous reste plus qu’à envoyer grâce à la fonction mail donc pour envoyer une pièce jointe c’est très simple, comme vous l’avez vu dans l’exemple, maintenant vous savez ce qu’il vous reste à faire.

Vous pouvez télécharger le code source complet sous ce cours vidéo, et c’est à vous de le mettre en pratique, par exemple vous pouvez vous entraîner à créer un formulaire mail sur votre site Internet où vous autoriser au nom d’utilisateur à joindre une seule pièce jointe, plusieurs pièces jointes, vous pouvez tester l’extension des pièces jointes, interdire les fichiers PHP, les fichiers ActionScript, autoriser seulement les fichiers ZIP, les images, les fichiers PDF, les documents Word. Mettez en pratique la fonction mail au format HTML avec l’envoie de pièce jointe, si vous avez rencontré des difficultés, si vous avez des questions, besoin d’informations supplémentaires, posez vos questions directement sous le cours vidéo et je vous dis à très bientôt sur Développement Facile.

 

 

[/ppmtoggle][/ppmaccordion]

Téléchargez le code source PHP

Voici le code source PHP pour envoyer un mail accompagné de pièces jointes.

Downloads

Retrouvez PHP Mailer pour simplifier vos envois de mails 😉

Comment avez-vous créés le formulaire mail sur votre site ?

Postez votre code source dans les commentaires ci-dessous.

Créez des Applications Dynamiques avec la Formation Gratuite PHP Facile !

Des Cours Vidéos avec les Codes Sources
+
Des Stratégies de Développement Agile