Créée le, 19/06/2015

 Mise à jour le, 19/05/2019

Visiteurs N°  




Accueil
Nouveau Blog Nouveautés Moteur de Recherche Votre Caddie Pour Vos Achats Votre Espace Membre Vos Signets et Vos Jeux Préférés Page de Bienvenue Statique Site en Français Site en Anglais
Sommaires
Électronique Fondamentale Technologie Fondamentale Testez vos Connaissances Électronique Théorique Digitale Électronique Pratique Digitale Lexique Électronique Numérique Data book TTL Data book CMOS Dépannage TVC Mathématique
Micro-ordinateurs
Théorique des Micro-ordinateurs Testez vos Connaissances Pratique des Micro-ordinateurs Glossaires sur les Ordinateurs
Physique
La lumière Champ d'action Rayonnement Électromagnétique
Technologies
Classification des Résistances Identification des Résistances Classification des Condensateurs Identification des Condensateurs
Formulaires Mathématiques
Géométrie Physique 1. - Électronique 1. 2. - Électronique 1. 3. - Électrotechnique 1. 4. - Électromagnétisme
Accès à tous nos Produits
E. T. F. - Tome I - 257 Pages E. T. F. - Tome II - 451 Pages E. T. F. - Tome III - 611 Pages E. T. D. - Tome I - 610 Pages N. B. M. - Tome I - 201 Pages E. T. M. - Tome I - 554 Pages Business à Domicile Ouvrages 34 pages gratuits Nos E-books Logiciel Géométrie Logiciel Composants Électroniques
Aperçu de tous nos Produits
E. T. F. - Tome I - 257 Pages E. T. F. - Tome II - 451 Pages E. T. F. - Tome III - 611 Pages E. T. D. - Tome I - 610 Pages E. T. M. - Tome I - 554 Pages Logiciel Géométrie Logiciel Composants Électroniques
Nos Leçons aux Formats PDF
Électronique Fondamentale Technologie Fondamentale Électronique Théorique Digitale Électronique Pratique Digitale Théorique des Micro-ordinateurs Mathématiques
Informatique
Dépannage Win98 et WinXP et autres Dépannage PC Glossaire HTML et Programmes PHP et Programmes JavaScript (en cours de travaux) Création de plusieurs Sites
Forums
Forum Électronique et Infos Forum Électronique et Poésie
Divers et autres
Formulaire des pages perso News XML Statistiques CountUs Éditeur JavaScript Nos Partenaires et nos Liens Utiles Gestionnaire de Partenariat Nos Partenaires MyCircle Sondages 1er Livre d'Or 2ème livre d'Or

Signets :
  Leçons suivantes        Leçons précédentes     Bas de page
  Cliquez ici pour la leçon suivante ou dans le sommaire prévu à cet effet


Implémenter un gestionnaire de mailing lists (6ème partie) :



Prévisualisation du bulletin :


L'administrateur dispose de deux méthodes pour prévisualiser un bulletin avant de l'envoyer. Il peut accéder aux fonctions de prévisualisation à partir de la page de téléchargement, s'il souhaite prévisualiser le bulletin immédiatement après avoir téléchargé. Il peut également cliquer sur le bouton Voir le Courrier, qui affiche la liste de tous les bulletins qui n'ont pas encore été envoyés, s'il souhaite prévisualiser et envoyer un bulletin ultérieurement. Le bouton Voir le Courrier active l'action view-mail, qui déclenche le code suivant :

Pour visualiser l'aperçu, en cliquant ici. [Exemple 1-ter].

    case "view-mail" :

    {

        display_items("Courrier non envoyé", get_unsent_mail(get_email()), "preview-html", "preview-text", "send") ;

        break ;

    }

Comme vous pouvez le constater, nous nous servons une fois de plus de la fonction display_items() pour les boutons qui correspondent aux actions preview-html, preview-text et send.

Il est intéressant de remarquer que les boutons Preview ne déclenchent en fait aucune action. Ils sont associés directement au bulletin dans l'archive. Si vous revenez au Listing 7 à cette adresse, en cliquant ici, puis au Listing 16 à cette adresse, en cliquant ici, vous constaterez que nous utilisons la fonction display_preview_button() pour créer ces boutons, et non la fonction display_button().

La fonction display_button() crée un lien vers un script avec les paramètres GET nécessaires. La fonction display_preview_button() fournit un lien direct vers l'archive. Ce lien sera affiché dans une nouvelle fenêtre, grâce à l'attribut target = new de l'étiquette HTML. Vous pouvez observer la prévisualisation de la version HTML d'un bulletin comme représenté à la figure 15.


Previsualisation_HTML_avec_Images_de_MLM.png


Envoi du bulletin :

Lorsque l'administrateur clique sur le bouton Envoyer d'un bulletin, l'action send est activée, ainsi que le code suivant :

    case "send" :

    {

        send($_GET["id"], $_SESSION['admin_user']) ;

        break ;

    }

Nous mettons un aperçu de la figure 16 comme quoi que le courrier a bien été envoyé à l'administrateur pour faire un test.


Courrier_Envoye_a_Administrateur_de_MLM.png


Ce code appelle la fonction send() que nous expliquerons plus bas de cette leçon, qui se trouve dans la bibliothèque de fonctions Mailing_List_Manager_fns.php. Il s'agit d'une fonction assez longue. Il s'agit également de l'endroit où nous utilisons la classe HTML MIME Mail.

Le code de cette fonction se trouve au Listing 17.


Listing 17 : La fonction send() de Mailing_List_Manager_fns.php - Cette fonction envoie un bulletin.


A noter : n'oubliez pas de configurer vos serveurs de FAI (Fournisseur d'Accès Internet).

Cette fonction s'occupe de plusieurs tâches.

Elle essaye d'envoyer le bulletin par E-Mail à l'administrateur avant de l'envoyer à la liste entière. Elle conserve une trace de cette opération, en examinant l'état d'un E-Mail dans la base de données. Lorsque le script de téléchargement envoie un E-Mail, il choisit "STORED" comme état initial pour cet E-Mail.

Si la fonction send() se rend compte qu'un E-Mail possède le status "STORED", elle le transforme en "TESTED" et l'envoie à l'administrateur. L'état "TESTED" signifie que le bulletin a été envoyé à l'administrateur pour faire un test. Si l'état est "TESTED", il devient "SEND", et le bulletin est envoyé à toute la liste des abonnés.

Cela signifie qu'un E-Mail doit être envoyé deux fois de suite : une fois pour faire un test et une fois réellement

La fonction envoie également deux types d'E-Mails différents : la version Texte, qui est envoyée grâce à la fonction mail() de PHP, et la version HTML, qui est envoyée par la classe HTML MIME Mail. Nous nous sommes déjà servi plusieurs fois de la fonction mail() dans nos leçons, c'est pourquoi nous allons uniquement nous intéresser à la classe HTML MIME Mail. Nous n'étudierons pas intégralement cette classe, mais nous expliquerons comment nous nous en sommes servis dans cette application typique, mais nous laissons aux programmeurs spécialisés dans ce domaine dont vous trouverez relativement des sites qui expliquent fort bien.

Nous commençons par inclure le fichier de la classe, et nous créons une instance de cette classe :

        include_once("class.html.mime.mail.inc") ;

        $mail = new html_mime_mail() ;

Nous chargeons ensuite les détails de l'image dans la base de données, et nous les passons en revue, en ajoutant chaque image dans l'E-Mail que nous souhaitons envoyer.

        $mail->add_html_image($image, mysql_result($result, $i, 0), mysql_result($result, $i, 1)) ;

Les trois paramètres transmis à add_html_image() correspondent au contenu de l'image, tel qu'il est lu dans le fichier, au nom du fichier, et au type MIME du fichier.

Nous devons aussi ajouter le texte principal, à la fois pour le format HTML et pour le format Texte :

        $mail->add_html($html, $text) ;

Nous créons ensuite le corps de l'E-Mail :

        $mail->build_message() ;

Pour terminer, il ne nous reste plus qu'à envoyer le message. Pour cela, nous passons en revue toutes les personnes abonnées à la liste, et nous nous servons de la fonction send() de HTML MIME Mail, ou de la fonction classique mail(), en fonction des préférences des utilisateurs :

                    // Pour chaque abonné

          while($subscriber = mysql_fetch_row($result))

    {

          if ($subscriber[2] == "H")

                    // Envoie la version HTML aux personnes qui l'ont demandée.

          $mail->send($subscriber[0], $subscriber[1], $from_name, $from_address, $subject) ;

    else

                    // Envoie la version texte aux autres personnes.

          mail($subscriber[0] . "<" . $subscriber[1] . ">", $subject, $text, "From: $from_name <$from_address>") ;

          $count++ ;

    }

Le premier paramètre de $mail->send() doit correspondre au nom réel de l'utilisateur, et le second paramètre doit contenir son adresse E-Mail.

Enfin, nous venons de terminer notre gestionnaire de mailing lists.

Bien sûr, comme d'habitude avec ces projets, il existe plusieurs manières d'améliorer leurs fonctionnalités.

On vous laisse le soin d'améliorer la programmation de Mailing lists qui n'est pas à 100% parfait, mais nous avions fait au mieux, en espérant que ce projet puisse vous aider !

Faites vos propres expériences ! Il s'agit de la meilleure manière d'apprendre et de comprendre !

Pour visualiser l'aperçu, en cliquant ici. [Exemple 1].

Pour télécharger les fichiers, en cliquant ici.

Nous terminons ainsi cette seizième leçon et nous verrons dans la prochaine d'autres programmes ...



  Cliquez ici pour la leçon suivante ou dans le sommaire prévu à cet effet.   Haut de page
  Page précédente   Page suivante







Nombre de pages vues, à partir de cette date : le 23 MAI 2019

compteur de visite

    




Envoyez un courrier électronique à Administrateur Web Société pour toute question ou remarque concernant ce site Web. 

Version du site : 10. 5. 14 - Site optimisation 1280 x 1024 pixels - Faculté de Nanterre - Dernière modification : 19 MAI 2019.   

Ce site Web a été Créé le, 14 Mars 1999 et ayant Rénové, en MAI 2019.