Vous êtes ici Tutoriel > Envoyer une newsletter

 
 

PHP - Envoyer une newsletter

Tutoriel écrit par KOogar
Écrit le 08 Jan 2005 - modifié le 2 Jan 2007

Voici un tuto indispensable !! La newsletter est un outil qui offre des possibilités fantastiques de mise en relation. Certain site sur le Net on créé des buz en montant des newsletters torrides !! Je vous explique plus bas le principe d'une newsletter ou d'un masse mailing. Tuto pour tout niveau à consommer rapidement pour ceux qui veulent créer de la vie sur leur site et amener du trafic naturellement.!!

Sommaire :



PHP - Envoyer une newsletter

 
PHP Newsletter - Création de la table.

Rendez vous sur votre admin MYSQL de phpMyAdmin et installez la table newsletters qui sera la base de données de toute vos références avec le nom, l'email et la date. La date sert à connaitre la date à laquelle l'utilisateur s'est inscrit. C'est à partir de cette table que nous ferons l'envoi des mails.

Installez et remplissez la table :

.01
.02
.03
.04
.05
.06
.07
.08
.09
.10
.11
.12
  <?php

CREATE TABLE newsletters
(
 
id int(100) NOT NULL auto_increment,
 
email varchar(150) NOT NULL default '',
 
nom varchar(150) NOT NULL default '',
 
date date NOT NULL default '0000-00-00',
 
PRIMARY KEY  (id)
)
ENGINE=MyISAM;

?>
Voici la requête pour insérer des élements dans votre table newsletters :
.01
.02
.03
.04
.05
.06
.07
.08
.09
.10
.11
  <?php

$em
= ''; // email
$nom = ''; // Nom ou auteur ou speudo ou ...

// insertion de la news dans sa table:
$q = "INSERT INTO newsletters (email,nom,date) VALUES('$em','$nom',NOW())";
mysql_query($q);

?>


PHP Newsletter - L'envoie de la newsletter.

Une fois la table installée et remplie, passons maintenant aux choses sérieuses. L'envoie de la newsletter !! Pour faire cela, commencons par une lecture de la table dans une boucle (while), ce qui va lister tout le contenu de la table !! Nous allons donc récupèrer l'adresse email venant de la table + le nom et mettre tout ca dans des variables. Ensuite nous placerons la commande mail() qui sert à envoyer le mail et à chaque tour de boucle.
L'adresse mail + le nom + un message sera ainssi envoyé aux destinataires. Le message du mail est fabriqué ici à part, mais il peut trés bien venir de votre table !! A vous de rajouter un champ dans la table.

Pour avoir une impression écran du déroulement de l'opération, vous avez un compteur qui compte et un print pour afficher les mails envoyés.

Le code de "newsletters.php" :
.01
.02
.03
.04
.05
.06
.07
.08
.09
.10
.11
.12
.13
.14
.15
.16
.17
.18
.19
.20
.21
.22
.23
.24
.25
.26
.27
.28
.29
.30
.31
.32
.33
.34
.35
.36
.37
.38
.39
.40
.41
.42
.43
.44
.45
  <?php

 
//Vous pouvez apeler ce fichier newsletters.php
  // OU
  //lui donner le nom que vous voulez

  //    CONNECTION
   
 
$mabasededonnee = "nombase";
   
 
$connection = mysql_connect("localhost","root","motdepasse"); 
 
// test la connection
 
if ( ! $connection
  die (
"connection impossible"); 
 
// Connecte la base
 
mysql_select_db($mabasededonnee) or die ("pas de connection");

 
//envoie du mail

  //titre du mail
 
$titre = 'Newletters';


 
$q = mysql_query("SELECT email FROM newsletters"); // requete
 
$compteur=1; // variable pour compter les mails
 
while ($r = mysql_fetch_array($q)) { 
 
$e_mail = $r['email']; //prend l'email de la table

  // 1 exemple de contenu du mail
 
$contenu = 'Bonjour! <br />Email : '.$e_mail.'<br />';
 
$contenu .= 'Voici la derniere newletters::';
 
$contenu .= 'Au revoir <br /><br />';
 
 
// envoi du mail HTML
 
$from = "From: hello <newsletter@monsite.ext>\nMime-Version:";
 
$from .= " 1.0\nContent-Type: text/html; charset=ISO-8859-1\n";
 
// envoie du mail
 
mail($e_mail,$titre,$contenu,$from);

        echo
'N° '.$compteur.' - '.$e_mail.' : envoyé avec succés!<br />';
       
$compteur++; // ajoute 1 à la variale du compteur
       
// fin du while

?>


PHP Newsletter - Pourquoi ma commande mail() ne marche pas ?

Si vous avez des problemes d'envois, regardez si votre hébergeur accepte la fonction mail(), certain hébergeurs comme free ne l'accepte pas et d'autre comme online.net utilise la fonction email().

PHP Newsletter - Les avantages du PHP et des newsletters

Inclure du code HTML dans le mail !! ...que le logiciel de messagerie va interpreter est un avantage formidable !! Le code du tuto permet d'envoyer le mail en HTML, car dans la commande mail() vous avez le type du document et le charset qui sont spécifié. Créer une newsletter qui soit par exemple une page de votre site est possible. Considérer votre logiciel de messagerie comme un navigateur et le tour est joué !!

PHP Newsletter - Les heures où il ne faut pas envoyer une newsletter.

Envoyer vos newsletter aux heures creusent des serveurs. Les heures de pointe sont en générale entre 8-9h / 12-14h / 17h-20h




© Copyright: Les tutoriels sont exclusifs et sont la propriétés des auteurs.
    Reproduction interdite.