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 [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club Avatar de babou54
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 137
    Points : 57
    Points
    57
    Par défaut Envoi de newsletters
    Bonjour je suis en train de gerer la partie admin d'un site, je cherche à envoyer un mail a plusieurs personnes, mon 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
     
    mysql_select_db($database_Connexionlibest, $Connexionlibest);
    $query_mailUser = "SELECT annonceur.mail, annonceur.nom, annonceur.prenom, annonceur.mail, annonceur.login, annonceur.pass, annonceur.id_annonceur FROM annonceur ORDER BY annonceur.id_annonceur";
    $mailUser = mysql_query($query_mailUser, $Connexionlibest) or die(mysql_error());
    $row_mailUser = mysql_fetch_assoc($mailUser);
    $totalRows_mailUser = mysql_num_rows($mailUser);
    $tps=0;
     
    while ($row_mailUser = mysql_fetch_assoc($mailUser))
    {
    $message=$_REQUEST['message'];
    $sujet= $_REQUEST['sujet'];
    $tps++;
     
    // personnalisation du message
    $mail=$row_mailUser['mail'];
    $message = str_replace("#nom#" , $row_mailUser['nom'] , $message) ;
    $message = str_replace("#prenom#" , $row_mailUser['prenom'] , $message) ; 
    $message = str_replace("#mail#" , $mail , $message) ;
    $message = str_replace("#login#" , $row_mailUser['login']  , $message) ;
    $message = str_replace("#pass#" , $row_mailUser['pass']  , $message) ;
    $message = str_replace("\n" , "<br>" , $message) ;
    echo $mail."<br>";
    //creation du message
    $destinataire = $mail;
    $expediteur   = "webmaster@libertedelest.fr";
    $reponse      = $expediteur;
    $codehtml=
    "<html><body>".
    "$message";
    mail($destinataire,
         "$sujet",
         $codehtml,
         "From: $expediteur\r\nReply-To: $reponse\r\nContent-Type: text/html; charset=\"iso-8859-1\"\r\n");
     
    }
    echo "<br><br><b>$tps</b> mails envoyés sur <b>$totalRows_mailUser</b> !<br><br>";
    ?>
    Mon souci est que le mail est envoyé à tout le monde sauf au premier de la liste et je voulais savoir si il été possible de savoir si le mail à bien été envoyé ou de savoir a qui le mail n'a pas été envoyé.
    Merci d'avance.

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $row_mailUser = mysql_fetch_assoc($mailUser);
    avant la boucle

    puis dans ta condition du while tu le refais. Ce qui conduit a perdre la première ligne de ton résultat en fait. Essaies de l'enlever (celle avant le while) et ca devrait mieux fonctionner.

  3. #3
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    c'est le problème habituel du code généré par Dreamweaver
    supprime la 1re ligne qui utilise "mysql_fetch_assoc" et tu retrouvera ton 1er enregistrement

  4. #4
    Membre du Club Avatar de babou54
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 137
    Points : 57
    Points
    57
    Par défaut
    merci ca marche nickel
    en plus vous êtes rapide c'est cool ca !
    et en ce qui concerne mon autre probleme pour savoir si les mail on bien été envoyé ? Vous savez pas ?

  5. #5
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    j'ai cru voir que pour chaque personne de la base de données tu envoies un mail c'est ca? tu ne fais pas UN mail groupé pour tout le monde?
    Dans ce cas il faut que tu testes la valeur de retour de la fonction mail() pour vérifier la valeur. Ca te dira si le mail est bien parti, il n'y a par contre aucune possibilité de t'assurer en live que le mail est "arrivé" sauf a regarder dans la boite de retour (adresse de retour du mail) si tu as les habituels "postmaster failed" ou un truc du genre

    regarde aussi cette discussion
    Script pour vérifier si l'e-mail est reçu

  6. #6
    Membre du Club Avatar de babou54
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 137
    Points : 57
    Points
    57
    Par défaut
    oui c'est bien ca j'envoi un mail a chaque personnes de ma base, et je vais juste tester la valeur de retour de la fonction mail

+ Répondre à la discussion
Cette discussion est résolue.

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