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

Langage PHP Discussion :

Newsletter Bcc en double


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 504
    Points : 128
    Points
    128
    Par défaut Newsletter Bcc en double
    Bonjour,

    ma newsletter ci-dessous envoie le même message aux destinataires deux fois et je ne vois pas pourquoi ?
    Merci.

    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
    mysql_query("SET NAMES utf8");	// On récupère de la table newsletter les personnes inscrites.
    		$select4 = "SELECT mail FROM pdf_membres2";
    		$result4 = mysql_query($select4) or die ('Erreur result4 : '.mysql_error() );
    		$liste = '';	// On définit la liste des inscrits.
    		while ($donnees = mysql_fetch_assoc($result4))
    			{	
    				$liste .= $donnees['mail'];
    				$liste .= ','; //On sépare les adresses par une virgule.
    			}
    		$destinataire = $liste; 
    		// en tête du mail
    		$entete = "MIME-Version: 1.0\r\n";
    		$entete .= "Content-type: text/html; charset=utf-8\r\n";
    		$entete .= "From: <".$email_admin.">\r\n";
    		$entete .= "Bcc: ".$liste."\r\n"; // en copie cachée pour qu'ils ne puissent pas voir les adresses des autres inscrits.
    		// On envoie l'e-mail.
    		if ( mail($destinataire,'Newsletter de ' .$nom_site. ' ' . $login .' ' , $message1.$message2.$message3 , $entete) ) 
    				{ 	echo'Envoi de la newsletter r&eacute;ussi !!! '.'<br/>'.'$liste : '.$liste.'<br/>'.
    						'$email_admin :'.$email_admin.'<br/>'.'$destinataire : '.$destinataire;
    					mysql_query("SET NAMES utf8");
    					$sql12 = "INSERT INTO membres_envoi (Envoi) VALUES('1')"; // pour envoi une seule fois par semaine !
    					mysql_query($sql12) or die('Erreur SQL !'.$sql12.'<br>'.mysql_error());
    				}
    		else	{ echo 'Echec de l\'envoi de la newsletter !!!!'; 	}

  2. #2
    Membre confirmé
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Points : 498
    Points
    498
    Par défaut
    C'est simple, tu mets une fois en copie caché et une fois en destinataire... ça ne va pas :p

    Pour envoyer des mails avec plusieurs utilisateurs, ce n'est pas le meilleur choix malheureusement...

    http://php.net/manual/fr/function.mail.php

  3. #3
    Membre habitué Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 504
    Points : 128
    Points
    128
    Par défaut
    Oui, effectivement, j'aurai pu le voir

    Merci beaucoup Simdu80


    Code modifié :
    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
     
    mysql_query("SET NAMES utf8");	// On récupère de la table newsletter les personnes inscrites.
    		$select4 = "SELECT mail FROM pdf_membres2";
    		$result4 = mysql_query($select4) or die ('Erreur result4 : '.mysql_error() );
    		$liste = '';	// On définit la liste des inscrits.
    		while ($donnees = mysql_fetch_assoc($result4))
    			{	
    				$liste .= $donnees['mail'];
    				$liste .= ','; //On sépare les adresses par une virgule.
    			}
    		$destinataire = $liste; 
    		// en tête du mail
    		$entete = "MIME-Version: 1.0\r\n";
    		$entete .= "Content-type: text/html; charset=utf-8\r\n";
    		$entete .= "From: <".$email_admin.">\r\n";
    		$entete .= "Bcc: ".$liste."\r\n"; // en copie cachée pour qu'ils ne puissent pas voir les adresses des autres inscrits.
    		// On envoie l'e-mail.
    		if ( mail($email_admin,'Newsletter de ' .$nom_site. ' ' . $login .' ' , $message1.$message2.$message3 , $entete) ) 
    				{ 	echo'Envoi de la newsletter r&eacute;ussi !!! '.'<br/>'.'$liste : '.$liste.'<br/>'.
    						'$email_admin :'.$email_admin.'<br/>'.'$destinataire : '.$destinataire;
    					mysql_query("SET NAMES utf8");
    					$sql12 = "INSERT INTO membres_envoi (Envoi) VALUES('1')"; // pour envoi une seule fois par semaine !
    					mysql_query($sql12) or die('Erreur SQL !'.$sql12.'<br>'.mysql_error());
    				}
    		else	{ echo 'Echec de l\'envoi de la newsletter !!!!'; 	}

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/09/2003, 11h38
  2. division de "double" par "0"
    Par ickis dans le forum C
    Réponses: 14
    Dernier message: 31/08/2003, 19h09
  3. abs pour un long double
    Par barthelv dans le forum C
    Réponses: 2
    Dernier message: 23/07/2003, 16h16
  4. String -> long double (_strlold ?)
    Par haypo dans le forum C
    Réponses: 7
    Dernier message: 25/07/2002, 20h22
  5. Réponses: 3
    Dernier message: 12/06/2002, 21h15

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