Fonction email [Résolu]

Signaler
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007
-
Messages postés
388
Date d'inscription
lundi 7 juillet 2003
Statut
Webmaster
Dernière intervention
10 février 2009
-
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

Messages postés
388
Date d'inscription
lundi 7 juillet 2003
Statut
Webmaster
Dernière intervention
10 février 2009

$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"
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
15
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, ++
Messages postés
388
Date d'inscription
lundi 7 juillet 2003
Statut
Webmaster
Dernière intervention
10 février 2009

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"
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007

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 ! ;)
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
15
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);


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

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



T'as pas peur toi
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007

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
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
15
"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".
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007

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 ;)
Messages postés
388
Date d'inscription
lundi 7 juillet 2003
Statut
Webmaster
Dernière intervention
10 février 2009

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"
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007

looool !!
mdrrr ;)
Non du tous !
Messages postés
388
Date d'inscription
lundi 7 juillet 2003
Statut
Webmaster
Dernière intervention
10 février 2009

tout pareil, et c'est valable 'ad vitam eternam' LOL

"They are 10 sorts of persons whose understand binary and whose not"
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007

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 !
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007

euh 10 membres seuleument ;)
pour le mail ;)
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
15
ca va, tu prends pas trop de risques alors, personne va te prendre pour un spammer!
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007

ha ben c rassurant malik ;)
content de le savoir ;)
Hé ben c du propre tou cha ;)
bonne soirée a tous !!
Messages postés
388
Date d'inscription
lundi 7 juillet 2003
Statut
Webmaster
Dernière intervention
10 février 2009

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"
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
15
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....
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007

ouais et comment fait poplist.com ?
ils ont leur propre serveur alors ?
Messages postés
388
Date d'inscription
lundi 7 juillet 2003
Statut
Webmaster
Dernière intervention
10 février 2009

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"