begin process at 2012 05 27 19:12:33
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

E-Mail / Messagerie

 > MAILING LISTE TOUTE SIMPLE SANS PRÉTENTIONS

MAILING LISTE TOUTE SIMPLE SANS PRÉTENTIONS


 Information sur la source

Note :
5,5 / 10 - par 2 personnes
5,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :E-Mail / Messagerie Niveau :Débutant Date de création :10/09/2004 Date de mise à jour :10/09/2004 01:35:38 Vu / téléchargé :6 136 / 831

Auteur : rekam

Ecrire un message privé
Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Sans base SQL. Utilise les fichier TXT. Très simple à utiliser. Pas énormément d'option. On peut quand même ajouter un email (heureusement...), supprimer un mail, afficher la liste complète, récupérer le nombre de membres, et... c'est tout....ah non ! On peut envoyer un mail à tous les membres :) !

Le code ci-dessous montre de quelle manière on utilise ce truc. Donc en effet, mine de rien,  c'est assez simple.

Source

  • <?php
  • /**
  • * Ici, on renseigne à quelle page on envoie le formulaire. Les lignes de codes ci-dessous
  • * doivent être présentent dans le fichier $pageRedirect. Dans ce cas, il est plus judiceux
  • * de faire le traitement du formulaire dans ce même fichier.
  • * Donc, en résumé, $pageRedirect = le nom de cette page
  • */
  • $pageRedirect = "index.php";
  • /**
  • * On inclu le fichier de classe mailing.class.php et on l'instancie pour pouvoir
  • * utiliser les différentes méthodes. Ce fichier et la création de l'instance
  • * doivent figurer dans le fichier qui affiche la mailing liste ainsi que dans celui
  • * qui ajoute ou supprime un email. C'est pourquoi, de préférence, on aura un même
  • * fichier qui affiche et qui traite la mailing liste.
  • */
  • include("mailing.class.php");
  • $email = new MailingList();
  • if (isset($_POST["email"])){
  • /**
  • * Les valeurs "ouip" et "nope" se rapportent aux valeurs des input type="radio"
  • * dans le fichier mailing.inc.php. "ouip" signifie qu'on veut s'inscrire, "nope"
  • * montre au contraire que l'on veut se désinscrire.
  • */
  • if ($_POST["inscription"] == "ouip"){
  • $email->add_mail($_POST["email"]);
  • }else{
  • $email->del_mail($_POST["email"]);
  • }
  • }
  • ?>
  • <html>
  • <head>
  • <title>Mailing liste</title>
  • </head>
  • <body>
  • <p>Ci-dessous, il y a un fichier php inclu, à savoir mailing.inc.php</p>
  • <?php include("mailing.inc.php"); ?>
  • <p>Et voilà, en fait, c'est très simple de l'intégrer à une page</p>
  • </body>
  • </html>
<?php

/**
 * Ici, on renseigne à quelle page on envoie le formulaire. Les lignes de codes ci-dessous
 * doivent être présentent dans le fichier $pageRedirect. Dans ce cas, il est plus judiceux
 * de faire le traitement du formulaire dans ce même fichier.
 * Donc, en résumé, $pageRedirect = le nom de cette page
 */
$pageRedirect = "index.php";

/**
 * On inclu le fichier de classe mailing.class.php et on l'instancie pour pouvoir 
 * utiliser les différentes méthodes. Ce fichier et la création de l'instance
 * doivent figurer dans le fichier qui affiche la mailing liste ainsi que dans celui
 * qui ajoute ou supprime un email. C'est pourquoi, de préférence, on aura un même
 * fichier qui affiche et qui traite la mailing liste.
 */
include("mailing.class.php");
$email = new MailingList();

if (isset($_POST["email"])){
    /**
     * Les valeurs "ouip" et "nope" se rapportent aux valeurs des input type="radio"
     * dans le fichier mailing.inc.php. "ouip" signifie qu'on veut s'inscrire, "nope"
     * montre au contraire que l'on veut se désinscrire.
     */
    if ($_POST["inscription"] == "ouip"){
        $email->add_mail($_POST["email"]);
    }else{
        $email->del_mail($_POST["email"]);
    }
}

?>
<html>
<head>
    <title>Mailing liste</title>
</head>
<body>

<p>Ci-dessous, il y a un fichier php inclu, à savoir mailing.inc.php</p>

<?php include("mailing.inc.php"); ?>

<p>Et voilà, en fait, c'est très simple de l'intégrer à une page</p>

</body>
</html>

 Conclusion

Le zip contient 3 fichiers. La classe, le formulaire et un index.php qui exploite les 2, histoire de montrer comment ça marche. ça n'a aucune prétention. Mais c'est peut-être (je dis bien "peut-être") un bon moyen de voir comment fonctionne la prog objet.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

10 septembre 2004 01:35:39 :
J'avais oublié un ";" , sorry ;)

 Sources du même auteur

Source avec Zip Source avec une capture GÉNÉRATION DE DOCUMENT OPENOFFICE 2.0 SPREADSHEET
Source avec Zip Source avec une capture GESTION DE TOURNOIS VIA LE WEB
Source avec Zip RÉCUPÉRATION D'UN BOUT DE STRING EN FONCTION DU NOMBRE DE MO...
Source avec Zip Source avec une capture LISTAGE D'UNE REQUÊTE SUR PLUSIEURS PAGES
Source avec Zip Source avec une capture SAISIE DE DATES VIA CALENDRIER

 Sources de la même categorie

Source avec Zip Source avec une capture FORM TO MAIL AVEC PROTECTION PAR TOKEN ET CAPTCHA CONTRÔLES ... par cod57
Source avec Zip Source avec une capture FORMULAIRE VERS COURRIEL BASIQUE AVEC CONTRÔLE CAPTCHA ANTI ... par cod57
Source avec Zip CHAT EN PHP ET JQUERY par pitchoubrazil
Source avec Zip Source avec une capture FORMULAIRE DE CHOIX MULTI-CONTACT VALIDE XHTML 1.0 TRANSITIO... par aventurier19
Source avec Zip Source avec une capture WEB MESSENGER par EvildarkEurope

Commentaires et avis

Commentaire de rekam le 10/09/2004 01:16:57

Si jamais, la feuille de style CSS ainsi que le code javascript sont tous 2 inclus dans le fichier mailing.inc.php. C'est tout-à-fait possible des les mettre dans des fichiers séparés.
Je les ai mis dans le même pour éviter d'avoir 15'000 fichiers différents.

Commentaire de GRenard le 10/09/2004 02:23:30

C'est mieux de faire 15000 fichiers comme tu dis pour être le plus modulaire possible... un fichier contenant par exemple juste ta classe, l'autre contenant juste le CSS, l'autre juste le JavaScript, et l'autre juste l'HTML...
Ensuite
                }else{
                    return false;
                }
            }else{
                return false;
            }
        }else{
            return false;
        }
Est plutot inutile... (pour vérifier les emails)... il est préférable de faire les if comme tu fais, mais ne mettre aucun else...
et mettre à la fin completement de ta fonction : return false

La derniere chose que je pourrais dire c'est que tu n'as mis aucune entête pour le la fonction mail (entêtes dans le dernier paramètre je parle.
Et, si tu dois envoyer un mail à 10943282 personnes... le script va s'arreter apres X secondes...
Tu peux faire la méthode facile, mettre un set_time_limit(0); ou faire comme je fais, envoyer 50 emails, attendre (genre tu redonnes le control à lutilisateur) et tu lui dit "Continer" (qui pointe avec un _GET pour continuer) et tu peux mettre aussi un meta pour que ca continue tout seul...
Ceci implique qu'il faut que tu enregistres tes emails quelque part et que tu les supprimes un par un ... tk c'est peut-etre un peu confu, mais c'est la meilleur méthode... :)

Commentaire de rekam le 10/09/2004 15:23:40

je suis d'accord avec toi, faire 15'000 fichiers différents, c'est mieux. C'est vrai que c'est vachement plus clair.

Pour la série de if et surtout de else, j'y vois tout de même un avantage. Pour le traitement des erreurs, c'est beaucoup plus pratique et précis. A la place de "return false", on peut mettre return "attention, y'a des slashes et des back-slashes";  puis return "Ceci n'est pas une adresse mail valide" pour l'autre else, etc.
Bon, c'est vrai, ma gestion d'erreur n'est pas terrible (je dirais même quasi inexistante), mais n'empêche, ça peut apporter quelque chose, la série de else, si on l'utilise un peu mieux, toutefois.

Sinon, je vois pas ce que tu veux dire par "aucune entête". ça veut dire quoi, au juste ? On peut mettre plus que "From: " dans le dernier paramètre ? Je viens de faire un tour sur php.net, mais apparemment, y'a rien de spécifié qui est important.

Pour ce qui est du temps d'exécution, tu m'en bouches un coin. C'est vrai, j'y aurai même pas pensé, lol ! Mais là , j'ai un peu peur que set_time_limit() ne soit pas configurable sur les serveurs pour raison de sécurité. Je vais me renseigner à ce sujet.

A+ !

Commentaire de GRenard le 10/09/2004 19:58:23

Alors first of all va voir le tutorial que j'ai posté et regarde comment fonctionne les gestion d'erreur. Car c'est pas très bon faire return "Vous avez une erreur...";
URL : http://www.phpcs.com/code.aspx?ID=24870

Pour les entêtes de mail voici un exemple :
$from = "JS Goupil <xxx@xxx.com>";
$en_tetes = "From: $from\n";
$en_tetes.= "X-Sender: $from\n";
$en_tetes.= "X-Mailer: PHP\n";
$en_tetes.= "Return-Path: $from\n";
$en_tetes.= "Content-Type: text/html; charset=iso-8859-1\n";

Pour ce qui est du traitement de nombre de mail à envoyer, relis mon message... j'ai dit que c'était possible d'utiliser set_time_limit mais le mieux c'est de faire l'autre moyen que j'ai dit précédemment... si tu ne comprends pas, j'essaierai d'être plus clair.
(Juste pour information, moi envoyer 50 mails ca prends environ 15-20 secondes...)

Commentaire de Baptiste80100 le 15/01/2005 22:54:59

Salut j'ai utiliser ton code pour mon site mes j'aimerais savoir si c'etait possible de modifier esthetiquement le formulaire et une petite question comment faire pour envoyer un mail a toute ma liste ?
Merci de ta reponse et je te remercie encore pour ce code qui marche pas mal du tout.

Commentaire de rekam le 17/01/2005 11:01:49

Salut
Pour envoyer les mails, il faut faire, en reprenant l'exemple ci-dessus :
$email->envoie_mail($objet, $contenu, $from);

Où $objet est l'objet du message, $contenu le corps et $from ton mail à toi.

Mais jette un oeil à la classe, toutes les méthodes sont dedans et elles sont commentées.

Pour ce qui est de l'allure de la liste, tu peux la changer comme bon te semble de le fichier mailing.inc.php. Il s'agit essentiellement de CSS.

Voilà, a+!

Commentaire de Baptiste80100 le 17/01/2005 11:19:59

Merci j'essai et je te dis quoi!

Commentaire de Baptiste80100 le 17/01/2005 12:06:53

Rebonjour je suis très novice en PHP mon probleme:
J'aimerais envoyer un mail de masse a tout mes contact comme le principe d'une newsletter j'aimerais que ce mail ce soit une page html comme les newsletter ex:Rue du commerce
     Cdiscount
     Etc....
Stp pourrais tu m'expliquer exactement comment faire.
Ce serait super sympa et j'en ai tres besoins
Voici mon msn: babgrosboss@hotmail.com
             yahoo: babgrosboss
                 aim: babgrosboss
Encore merci pour ton aide est espere utiliser ton super code un maxi de temps.

Commentaire de irwankhan le 09/03/2005 17:14:19

Bonjour à tous...
je tiens à féliciter rekam pour cette source très simple à installer.
mais étant novice, je ne sais pas écrire le code qui permet d'envoyer un mail à la liste.
En fait j'aimerai creer un formulaire pour rédiger le mail en html, avec en autre renseignements sur "l'objet, contenu, expéditeurs..." et y rajouter un bouton pour l'envoyer à toute la liste d'abonnés.
C'est peut être pas très compliqué à faire, mais j'en suis vraiement au balbutiement du PHP.
Je vous remercie de bien vouloir m'éclairer...

Commentaire de eskofot le 11/03/2006 18:23:51

Bonjour tout le monde,
J'ai testé ce code sur 4 serveurs php différents, ça marche partout sauf sur mon serveur de production, chez Ornis... j'avais fait un code assez similaire pour écrire dans un fichier texte avec "r+" seulement, et ça fonctionnait. C'est à rien n'y comprendre ?!!
Est-ce arrivé à quelqu'un ?..

Commentaire de trifplusnomore1241 le 01/04/2010 18:21:13

bonjour à tous.

"REKAM" est ce que tu peux stp rajouter une autre page afin de personnaliser le contenu du mail envoyé en utilisant un formulaire.

par ailleurs j'ai testé un logiciel qui m'a paru très complet "email marketer " pour ceux qui souhaitent plus de fonctionnalités. il est sur rapidshare (avec serial) je l'ai d'ailleurs testé et j'ai trouvé un seul inconvenant c'est qu'on passe par un serveur dédié ce qui ne permet pas une certaine confidentialité à vos compagnes e-mailing ....    

Commentaire de hoyabun le 02/08/2010 18:46:50

A quelle moment est-il précisé qu'il faut créer un dossier "mail.txt" avec un chmod à 666 ?
Bon script pour ce que je m'en autorise à juger, mais (y'a un mais) l'explication pour la mise en oeuvre, ben, elle est où ?
Faut pas être tout à fait débutant (dommage) pour faire fonctionner ce script qui fonctionne parfaitement et est un bon socle pour laisser libre cours à toutes les bidouilles possibles et immaginables.
Merci à Rekam.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales