[RESOLU] requete while plusieur resultat et 1 resultat

gdc
Eléphant du PHP | 101 Messages

10 mars 2013, 00:23

Bonsoir,

Je sais pas si je vais trouver encore bonheur ici :) Mais surment que oui car phpfrance c'est les meilleurs ...

Voila j'explique,`

J'ai une requete avec un while qui marche parfaitement, le mail est bien envoyé a tout les membres dans la listes le seul problemes c,est que chaque personne vois les adresse de tout les autre membres , allors je ne trouve pas comment faire pour qui ais seulement l'adresse du destinataire qui apparat dans son propre email ...

voila mon code:
<?php

$result = mysql_query("SELECT email FROM editeur");
$resultat = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
   $resultat[] = $row['email'];
}

$echo_adr = implode(",",$resultat);

$headers  = 'MIME-Version: 1.0' . "\n";
     $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
     $headers .= 'From: ISITENAME <[email protected]>' . "\r\n";

// Le msg a envoyer
$text='

Message Test <br /><br />

----------------------------------------------------------------------------
';

mail("$echo_adr", "MSG SUJET", "$text", "$headers");

?>

Merci de votre aide encore une autreS fois..

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

10 mars 2013, 00:49

Salut,
Soit tu envois autant de mail que de destinataire, soit tu colle ton adresse en destinataire et met les autres en BCC ;)

Pour info la doc indique bien que la fonction mail n'est pas faites pour l'envoi de mail de masse ;)


@+
Il en faut peu pour être heureux ......

gdc
Eléphant du PHP | 101 Messages

10 mars 2013, 01:21

Salut,
Soit tu envois autant de mail que de destinataire, soit tu colle ton adresse en destinataire et met les autres en BCC ;)

Pour info la doc indique bien que la fonction mail n'est pas faites pour l'envoi de mail de masse ;)


@+

Merci je sais j,ai remarquer ca dans la doc,

moi c,est une liste de diffusion en réalité que je veux faire...

Eléphant du PHP | 453 Messages

10 mars 2013, 15:16

Salut,
Pour info la doc indique bien que la fonction mail n'est pas faites pour l'envoi de mail de masse ;)
+1

Le mieux est de faire un bash ou un crontab pour l'envoi en masse.
La Tux attitude avec les kiw'z syou plait
Komodo Edit - Inkscape - Dia

Mammouth du PHP | 571 Messages

10 mars 2013, 21:19

pour envoyer un mail à chacun de tes utilisateurs, tu peux directement appeler la fonction mail dans la boucle while. A chaque itération, tu récupères l'e-mail et le passe à la fonction mail.

Or dans ton code tu fais un envoie groupé en séparant chacune des adresses mail par des ,

gdc
Eléphant du PHP | 101 Messages

10 mars 2013, 22:44

merci yann18,

Mais est-ce possible d'adapter mon code avec la function que tu dis dans le while ...

<?php
 
$result = mysql_query("SELECT email FROM editeur");
 $resultat = array();
 while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $resultat[] = $row['email'];
 }
 
$echo_adr = implode(",",$resultat);
 
$headers  = 'MIME-Version: 1.0' . "\n";
      $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
      $headers .= 'From: ISITENAME <[email protected]>' . "\r\n";
 
// Le msg a envoyer
 $text='
 
Message Test <br /><br />
 
----------------------------------------------------------------------------
 ';
 
mail("$echo_adr", "MSG SUJET", "$text", "$headers");
 
?>

Si oui peu tu m'aider svp car j'en ..... en ....... m.... commence a capoter avec ca :)


Merci ...

Mammouth du PHP | 571 Messages

11 mars 2013, 00:47


<?php
 
$headers  = 'MIME-Version: 1.0' . "\n";
      $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
      $headers .= 'From: ISITENAME <[email protected]>' . "\r\n";

 
// Le msg a envoyer
 $text='
 
Message Test <br /><br />
 
----------------------------------------------------------------------------
 ';
 
$result = mysql_query("SELECT email FROM editeur");
 while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    mail($row['email'], "MSG SUJET", $text, $headers);
 }
 

?>

Mammouth du PHP | 571 Messages

11 mars 2013, 01:04

comme indiqué par @moogli, la fonction mail n'est pas destinée à envoyer de gros volume de mails car elle impacte sur les performances de ton application pour cause, elle ouvre et ferme une connexion smtp à chaque envoi.

Il existe des libs comme phpmailer, zend_mail qui permettent d'envoyer des mails