Fonction email

Résolu
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007 - 4 août 2005 à 19:16
cs_garfield90 Messages postés 388 Date d'inscription lundi 7 juillet 2003 Statut Webmaster Dernière intervention 10 février 2009 - 4 août 2005 à 21:07
Bonjour j'ai un petit renseignement a vous demander ! pk ma fonction mail ne fonctionne pas ? je ne recois pas demail ! le site supporte bien la fonction mail le hic c que la requete ne marche pas! je voudrai envoyer un email a tous mes membres

que dois je faire :

je vous joins mon code en bas depage :)

------------
<?php

php


$Destinataire = ("select * from membres ORDER BY email");
$Sujet = "Information - Team BHAF - ";


$From = "From:Predator\n";
$From .= "MIME-version: 1.0\n";
$From .= "Content-type: text/html; charset= iso-8859-1\n";


$message = $_POST["message"];


mail($Destinataire,$Sujet,$message,$From);


?>

ya sans doute une erreur, les adresses emails sont dans la base .
merci de rectifié mon erreur et de me dire quest ce que je peux faire ?
si une personne souhaite m'aider . pouvez vous copier mon code et le reecrire de facon correct sinon je comprendrai pas :(
merci

23 réponses

cs_garfield90 Messages postés 388 Date d'inscription lundi 7 juillet 2003 Statut Webmaster Dernière intervention 10 février 2009
4 août 2005 à 19:27
$Destinataire est une ressource MySQL, ca risque pas de marché.



fait un echo $Destinataire et tu devrais avoir un truc du genre Resource id #10

- envoi pour chaque adresse mail , un mail distinct tout les X mail
envoyé tu fais une pause sleep(Y)pour pas emcombré le serveur de
messagerie

- mets ton script avec un set_time_limit(0);

- select email from membres devrait suffir



voila c'est tout pour l'instant


"They are 10 sorts of persons whose understand binary and whose not"
3
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
4 août 2005 à 19:31
Hello,



http://php.benscom.com/manual/fr/function.mail.php,



bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]] )



Donc je pense pas que tu puisses passer un tableau pour les
destinataires. Un exemple sur cette page montre que pour avoir
plusieurs destinataires, il faut les inscrire séparés par une virgule:



$to  = "Mary <mary@example.com>" . ", " ; // notez la virgule

$to .= "Kelly <kelly@example.com>";




Donc, il faut faire un truc du genre:

<?php





include('config.php');



$q = 'SELECT email from membre;';

$r = mysql_query($q);



$emails = '';

while ($rep=mysql_fetch_assoc($r)){

$emails .= $rep['email'].',';

}



}

$emails = substr($emails, 0, strlen($emails)-1);



mail($emails, ...



?>

Enjoy, ++
3
cs_garfield90 Messages postés 388 Date d'inscription lundi 7 juillet 2003 Statut Webmaster Dernière intervention 10 février 2009
4 août 2005 à 19:45
Ok t'es un newbie.



1erement : va sur des sites types phpdebutant ou autre et essaye de comprendre ce que font les script


choppe toi des bons bouquins ( no titre pour pas de troll )

2ement : pour les fonctions que tu ne comprends pas va sur fr.php.net

3ement : si tu n'as aucun notion de programmation,
cherches des tuto sur l'algorithmie (j'aurais peut etre du le mettre en
1er)




"They are 10 sorts of persons whose understand binary and whose not"
3
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
4 août 2005 à 19:45
Ok mais en tous cas je te remercie beaucoup ! ;)
c'est tres gentil de ta part ! davoir répondu vite ;)
m'enfin ca maurai pas déranger que tu tape tous !! lool
je rigole ;)

merci ! REPONSE ACCEPTEE ! ;)
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
4 août 2005 à 19:52
c'est pourtant pas compliqué... tu mixes ton code et le mien et ton problème est réglé!



Je fais une connerie là, mais bon tant pis...



<?php


$Destinataire = 'select email from membres ORDER BY email';


$r = mysql_query($Destinataire);

$emails = '';
while ($rep=mysql_fetch_assoc($r)){
$emails .= $rep['email'].',';
}

}
$emails = substr($emails, 0, strlen($emails)-1);


$Sujet = "Information - Team BHAF - ";



$From = "From:Predator\n";

$From .= "MIME-version: 1.0\n";

$From .= "Content-type: text/html; charset= iso-8859-1\n";



$message = $_POST["message"];



mail($emails,$Sujet,$message,$From);


?>
3
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
4 août 2005 à 20:14
PHPCS dit: 473 595 membres

Milka dit: "ma reconnaissance est plus forte que tous les membres inscrits ici ;)"



T'as pas peur toi
3
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
4 août 2005 à 19:37
bon laissez tombé jai rien compris ! je suis un noob moi
un "truc du genre" c pas francais pour moi

et comme il sagit dun $_POST avant la requete depuis un formulaire je ne le vois pas sur le script
et apres té trois petits points ou il y a la fonction mail je ne sais meme pas ce que je dois faire dans le sens je ne sais pas quoi taper apres. :(

en tous cas merci pour le lien je vais essayé de me débrouillé :(
bonne soirée ...

je vais regarder cela ;)
merci
0
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
4 août 2005 à 19:42
"truc du genre", ca veut dire "je vais pas
te coder ton application mais je te donne toutes les ficelles que je
peux"... c'est ça que ça veut dire "truc du genre".
0
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
4 août 2005 à 20:04
oh merci té un ange ! ca marche ;)
je revodrai ca !!! tkt pas ta bien fais de maider !
ma reconnaissance est plus forte que tous les membres inscrits ici ;)

merci énormément ca fait vraiment plaisir ;)
0
cs_garfield90 Messages postés 388 Date d'inscription lundi 7 juillet 2003 Statut Webmaster Dernière intervention 10 février 2009
4 août 2005 à 20:13
pas de koi, ;) (je reponds a la place de malik)



mais bon faut chercher un petit peu. fait gaffe a la solution proposé
par malik car si tu as trop de destinataire tu peux etre considérer
comme spammeur (a moins que je dise une connerie, moi en tout cas, un
mail avec plus de destinataire que de contenu => out sans passé par
la corbeille)



fait un mix avec ma solution ( envoyer un mail par destinataire, plus
gourmand en ressource, tu peux la personnalisée et moins de risque
d'être considéré comme spammeur)



en esperant ne pas dire trop de connerie, en tout cas c'est comme ca que je ferais


"They are 10 sorts of persons whose understand binary and whose not"
0
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
4 août 2005 à 20:15
looool !!
mdrrr ;)
Non du tous !
0
cs_garfield90 Messages postés 388 Date d'inscription lundi 7 juillet 2003 Statut Webmaster Dernière intervention 10 février 2009
4 août 2005 à 20:17
tout pareil, et c'est valable 'ad vitam eternam' LOL

"They are 10 sorts of persons whose understand binary and whose not"
0
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
4 août 2005 à 20:19
ola la ce latin obscure que je ne connais point m'en dira des nouvelle !
et oui c''est valable toujours ! comme on dirait dans les boite de conserve !
A consommer de préférence avant les autres !
0
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
4 août 2005 à 20:21
euh 10 membres seuleument ;)
pour le mail ;)
0
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
4 août 2005 à 20:24
ca va, tu prends pas trop de risques alors, personne va te prendre pour un spammer!
0
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
4 août 2005 à 20:34
ha ben c rassurant malik ;)
content de le savoir ;)
Hé ben c du propre tou cha ;)
bonne soirée a tous !!
0
cs_garfield90 Messages postés 388 Date d'inscription lundi 7 juillet 2003 Statut Webmaster Dernière intervention 10 février 2009
4 août 2005 à 20:36
C'est clair



prends en alors note pour plus tard. Ou applique le tout de suite si jamais tu arrives a des milliers d'abonnée ( 473 595
ou plus ;) ) t'en aurass besoin et tu n'auras pas cette partie de code
a refaire. et ce n'est pas le temps (charge) que ca peut prendre pour
10 membres qui va faire baisser les performances de ton code



Bonne continuation


"They are 10 sorts of persons whose understand binary and whose not"
0
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
4 août 2005 à 20:43
ceci dit Garfield90, je viens de chercher un peu mais j'ai fait chou
blanc... un script php, par défaut, bloque après 30 secondes...
quelqu'un qui a 100 messages à envoyer (genre newsletter) fait comment?
En supposant que chaque mail prend une demi seconde... ???



Voila-t-y pas une bonne question que je me pose! Il y a forcément un
moyen de contrer ce problème... peut être en passant par des cron et
faire une pause d'une seconde de temps en temps... ou en ayant son
propre serveur... ou je sais pas quoi....
0
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
4 août 2005 à 20:48
ouais et comment fait poplist.com ?
ils ont leur propre serveur alors ?
0
cs_garfield90 Messages postés 388 Date d'inscription lundi 7 juillet 2003 Statut Webmaster Dernière intervention 10 février 2009
4 août 2005 à 20:55
dans ma premiere réponse, j'en parle :

set_time_limit(0) // plus de limite de temps (c'est cool, maintenant que je bosse sur un dédié, j'en profite)

sleep(10) // permet de faire une pause



donc tu peux faire un truc du genre ( je pompe ton code excuse et un peu de modif)



<?php



set_time_limit(0); // plus de limite de temps

$Destinataire = 'select email from membres ORDER BY email';



$Sujet = "Information - Team BHAF - ";




$From = "From:Predator\n";
$From .= "MIME-version: 1.0\n";
$From .= "Content-type: text/html; charset= iso-8859-1\n";




$message = $_POST["message"];







$r = mysql_query($Destinataire);

$emails = '';
while ($rep=mysql_fetch_assoc($r)){

if (
($i++)%100==99 ){ // tous les 100 mails ( % = modulo)


sleep(30); // pose de 30s

}

mail($rep['email'],$Sujet,$message,$From);

}

}











?>


Le cron est bien si tu envoie un mail tous les jours ( accès au CRON
généralement en dédié donc tu peut faire un set_time_limit() car t'as
propre compil)



Je maitrise pas encore CRON donc je ne sais pas si tu peux lui passer des params (faudrait que j'étudie plus le comportement)


"They are 10 sorts of persons whose understand binary and whose not"
0
Rejoignez-nous