IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

envoi de newsletters


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    je_suis_debutant
    Invité(e)
    Par défaut envoi de newsletters
    bonjour,

    j'ai fais la page newsletter et il n'a pas d'erreur donc voilà le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    if(isset($_POST['message'])) //On a tapé le message
    { 
    // On récupère les 5 dernières news
    $news = mysql_query('SELECT membre_pseudo,contenu,timestamp FROM forum_membres, news ORDER BY id DESC LIMIT 0, 5');
     
    $fichier_message = '<html>
    <head>
       <title>Newsletter du forum exemple</title>
    </head>
    <body bgcolor="black">
    <font face="verdana"><font color="white"><font size="5"><p align="center"><font color="red"><u>Balzac61</u></font></p></font>
    <font size="3">' . $_POST['message'] . '<br /><br />
    <p align="left">Voici les dernières news de MonSite.fr :<br /><ul>'; //on définit le message
     
        while($donnee = mysql_fetch_assoc($news)) 
        {
    $fichier_message .= 'Bonjour,'.$donnee['membre_pseudo'].' voilà les news d aujourd hui <br/><br><li>'.$donnee["contenu"].'(le'.date("D, d M Y H:i:s",$donnee["timestamp"]).')</li>'; //on ajoute les news au message
        }
     
    $fichier_message .= '</ul></body>
    </html>'; //on termine le message
     
     
    //on récupère de la table newsletter les personnes inscrites
    $liste_inscrits_vrac = mysql_query("SELECT membre_email FROM forum_membres WHERE membre_newsletter='1'");
     
     
    //on définit la liste des inscrits
    $liste = 'monsite@monsite.fr';
        while ($donnees = mysql_fetch_assoc($liste_inscrits_vrac))
        {
        $liste .= ','; //on sépare les adresses par une virgule
        $liste .= $donnees['email'];
    	}
    $message = $fichier_message;
    $destinataire = $liste; //on adresse une copie a l'administrateur
     
    $date = date("d/m/Y");
     
    $objet = "Newsletter du forum exemple du $date"; //on définit l'objet qui contient la date
     
    //on définit le reste des paramètres
    $headers  = 'MIME-Version: 1.0' . '\r\n';
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . '\r\n';
    $headers .= 'From: monsite@monsite.fr' . '\r\n'; //on définit l'expéditeur
    $headers .= 'Bcc:' . $liste . '' . '\r\n'; //on définit les destinataires en copie cachée pour qu'ils ne puissent pas voir les adresses des autres inscrits
     
        //on envoie l'e-mail
        $email = mail($destinataire, $objet, $fichier_message, $headers);
    if($email){
    echo 'Newsletter envoyer au abonné';
    }else{
    echo 'Echec lors de l\'envoi';
    } 
      }
     
    ?>
    <?php
     //Fin de la condition de validité du formulaire
    ?>
    <br />
    <h3>Message ajouté à la newsletter</h3>
    <form method="post" action="newsletter.php">
    <textarea cols="30" rows="10" name="message"></textarea>
    <br>
    <input type="submit" value="Envoyer la newsletter" />
    </form>
    <br /><br /><u>Liste des inscrits :</u><br />
    <table>
    <tr>
    <th>pseudo</th>
    <th>e-mail</th>
    </tr>
    <?php
     // membres inscrit à la newsletters
     
     
    $requete3 = mysql_query("SELECT membre_pseudo,membre_email FROM forum_membres WHERE membre_newsletter=1");
    $TotalDesMembres = mysql_num_rows($requete3);
     
    if($TotalDesMembres!=0) //si le nb total de membres connecté est différent de 0, on affiche la phrase sinon ça n'affiche rien
    {
    echo'il y as <strong>'.$TotalDesMembres.'</strong> membres inscrit à la newsletters';
    }
     
    $liste_inscrits_vrac = mysql_query("SELECT membre_id,membre_pseudo,membre_email FROM forum_membres WHERE membre_newsletter=1"); //on récupère la table newsletter en vrac
        while ($donnees = mysql_fetch_assoc($liste_inscrits_vrac))
        {
    ?>
     
    <tr>
    <td><?php echo '<a href="./voirprofil.php?m='.$donnees['membre_id'].'&amp;action=consulter">'.stripslashes(htmlspecialchars( $donnees['membre_pseudo'])).'</a>'; ?></td>
    <td><?php echo ($donnees['membre_email']); ?></td>
    </tr>
     
    <?php
        }
    ?>
    </table>
    mais le souci c'est que j'ai essayé d'envoeré pour voir sur plusieurs addresses free, hotmail msn et gmail et wanadoo apparemment il ne veut pas les envoyer et je ne reçois pas

    est ce que quelqun peut m'aider merci
    Dernière modification par sabotage ; 30/04/2009 à 23h33. Motif: orthographe

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Est-ce que tu as essayé d'envoyer un mail tout simple avec juste ca dans le script pour voir ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    je_suis_debutant
    Invité(e)
    Par défaut
    tu veux dire juste taper dans formulaire un mot mais j'ai éssayé il me dit que j'ai bien envoyé le message

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Non je veux dire juste un script avec l'envoi d'un mail.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    je_suis_debutant
    Invité(e)
    Par défaut
    re

    en faite il faudrait c'est d'essayer d'envoyer le méssage à l'état pur c'est à dire de supprimer la variable headers dans la fonction mail

    @ votre avis es ce que ça seras la bonne maniere

    vous me direz qu'elle ligne à supprimé enfin la variable headers dans la fonction mail pour que je teste

    merci

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 43
    Par défaut
    bonjour,
    essayez, en l'adaptant, quelque chose comme cela :

    il faut changer le nom de la bd, le SELECT SQL,
    et le premier ini_set qui dépend de votre fournisseur (si vous êtes chez Orange c'est "smtp.orange.fr" , etc ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?php
    	ini_set("SMTP","smtp.free.fr");
    	ini_set("smtp_port","25");
     
    	$objet    =  "Promo Prospects";
    	$message  =  "<html><body>" .
    			"<h1>Promo</h1>" .
    			"<font color='red'>du mois de mars …</font><br />" .
    			"</body></html>";
    	$enTetes = "Content-Type: text/html; charset='UTF-8'\r\nFrom: <a href="mailto:untel@free.fr">untel@free.fr</a>\r\n";
     
    	$lien = mysql_connect("localhost", "root", "") ;
    	mysql_select_db("cours", $lien);
    	$lsSelect = "SELECT e_mail FROM prospects WHERE e_mail IS NOT NULL" ;
    	$rs = mysql_query($lsSelect, $lien) ;
    	while($enr = mysql_fetch_row($rs))
    	{
    		$destinataire = $enr[0] ;
    		mail(
    			$destinataire,
    			$objet,
    			$message,
    			$enTetes
    		     ) ;
    	}
    	echo "C'est fini, vous pouvez reprendre une activit&eacute; normale";
    ?>

Discussions similaires

  1. [Mail] Envoie de newsletter en masse, et pause dans l'envoi
    Par ChriGoLioNaDor dans le forum Langage
    Réponses: 1
    Dernier message: 10/02/2007, 16h23
  2. [Mail] problème envoi de newsletter 'page HTML'
    Par lilie507 dans le forum Langage
    Réponses: 2
    Dernier message: 11/01/2006, 15h57
  3. [Mail] Problème d'envoi de newsletter
    Par Gwipi dans le forum Langage
    Réponses: 4
    Dernier message: 23/12/2005, 17h33
  4. Création de comptes pour envoi de newsletter
    Par Skullbox dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/08/2005, 11h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo