Classe php permettant d'envoyer un mail à partir d'un texte html au format mime.

Description

  • Classe permet de créer un message (mail)
  • à partir d'un fichier HTML et respectant les standards MIME.
  • Cette classe est largement inspirée des exemples fournit par Richard Heyes, après
  • correction de quelques erreurs et simplifications.
  • Le logiciel peut remplacer chacune des urls des images cités dans le source HTML
  • par un segment image associé au message. Ceci permet d'associer dans le corps du
  • message les images utilisées par celui-ci. En effet, si ces images ne sont pas
  • disponibles sur un serveur HTTP, ou si les connexions Internet ne sont pas ouvertes
  • alors les images ne pourront pas être affichées.
  • On peut également ajouter des pièces jointes.
  • Exemple (1) de mise en oeuvre :
  • -----------------------------------
  • $myMail = new html_mime_mail(); //Instanciation de la classe
  • $myMail->add_header('Reply-To: "Daniel Touzeau" <dtouzeau@wanadoo.fr>'); //Ajout d'un header spécial
  • //Définition des images à remplacer
  • $myMail->add_html_image('../images/ASM_top.gif', 'images/ASM_top.gif', 'ASM_top', 'image/gif');
  • $myMail->add_html_image('../images/Book.jpg', 'images/Book.jpg', 'Book', 'image/jpeg');
  • //Ajout du code HTML à rechercher dans un fichier (du serveur HTTP)
  • $myMail->add_file_html('../test_envoi_mail.html');
  • $myMail->add_attachment('../statistiques.xls', 'Fichier_Statistiques.xls');//Ajout d'une pièce jointe
  • $myMail->build_message(); //Demander à construire le message au format MIME
  • $myMail->send("daniel", "dtouzeau@asmtennis.net",
  • "daniel du tennis", "dtouzeau@wanadoo.fr",
  • "test avec test_envoi_mail et pieces jointes");
  • Exemple (2) avec utilisation du mode auto
  • -----------------------------------
  • $myMail = new html_mime_mail(); //Instanciation de la classe
  • $myMail->add_header('Reply-To: "Daniel Touzeau" <dtouzeau@wanadoo.fr>'); //Ajout d'un header spécial
  • $myMail->add_file_html('../test_envoi_mail.html'); //---------A placer AVANT add_auto_images ---
  • $myMail->add_auto_images('http://www.monsite.fr/application_1'); //URL Absolue du repertoire en cours
  • $myMail->add_attachment('../statistiques.xls', 'Fichier_Statistiques.xls');//Ajout d'une pièce jointe
  • $myMail->build_message(); //Demander à construire le message au format MIME
  • $myMail->send("daniel", "dtouzeau@asmtennis.net",
  • "daniel du tennis", "dtouzeau@wanadoo.fr",
  • "test avec test_envoi_mail et pieces jointes");
  • -----------------------------------
  • Exemple (3) de l'envoi de plusieurs mails avec des paramètres variables inclus dans le corps du HTML sous
  • la forme $paramXX
  • -----------------------------------
  • $body = file_get_contents("message_init.html"); //Corps du message contenant des $paramXX
  • $myMail= new html_mime_mail('');
  • Boucle d'accès à une base de données avec récupération des valeurs des paramètres
  • begin{
  • .....
  • ....
  • $body = replace_value("\$paramXX, $texte_param); //Remplacement de(s) valeur(s)
  • $myMail->add_html($body, '');
  • $myMail->add_auto_images('http://www.monsite.fr/application_1');
  • $myMail->build_message(); //Demander à construire le message au format MIME
  • $myMail->send("daniel", "dtouzeau@asmtennis.net",
  • "daniel du tennis", "dtouzeau@wanadoo.fr",
  • "test avec test_envoi_mails et pieces jointes");
  • fin de boucle
  • }
  • Copyright Daniel Touzeau. Librement utilisable.
  • /

Source / Exemple :


Source fournit avec documentation PHP dans fichier ZIP

Attention utilisatin de PHP5 !!!!

Conclusion :


Testé avec Outlook, incredimail, thunderbird

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.