[RESOLU][PHP][WHILE] Boucle infini = 400 mails par minute !

Bonjour a tous :crying:

Suite a CE topic, j’ai compris comment marchais la fonction mail(), j’étais content, et j’ai voulut essayer un truc pour rigoler, et ça s’est avéré désastreux…

Je sait pas si c’est

while($no) { mail($pour, $sujet, $message, $entete); $a++; }ouwhile(0<$no) { mail($pour, $sujet, $message, $entete); $a++; }
Mais après les 2 j’ai eut droit a mon erreur 500 « serveur error » et depuis je reçoit 400 mails/minute et ça ne s’arrête plus !!!
J’ai supprimé le site du serveur, mais bon je m’en doutais, ça n’a servi a rien.

Donc:
Comment on fait pour arrêter ça ?
Faut t’il que j’écrive a free pour leur dire que j’ai merdé, et prier pour qu’il ne supprime pas mon compte pour Spam ?

Merci :slight_smile:

Je pense que free doit avoir une limitation et que ça va s’arrêter tout seul (dans 1 ou 2 millions de mails).
Sinon je ne vois pas comment on sort de ta boucle while ?
Il faudrait que la valeur de $no change à l’intérieur de la boucle pour que ça sorte à un moment donné.
cf : http://fr.php.net/while

Il y a pas lieu de s’inquiêter et c’est d’ailleurs étonnant que ça marche si bien cette histoire, j’aurais cru que free aurait placé un minimum de limitations sur l’envoi de mails.

http://les.pages.perso.chez.free.fr/index…s-perso-de-Free

Je confirme donc, ta boucle est effectivement infinie : $no doit avoir une valeur (sinon il rentrerait pas dans la boucle), sauf qu’elle ne change jamais.

Pour éviter ce genre de désagrément, généralement moi je teste tout sans l’envoi de mail et j’affiche le contenu du mail dans le browser. Quand je vois que tout marche comme je veux, je rajoute la fonction mail() et je teste une dernière fois pour être sur qu’il y a pas de soucis.

Heu… AcidBen, c’est bien de vouloir se mettre a la programmation, mais avant de tester ca en live sur des serveurs mail, tu crois pas que tu devrais d’abord travailler tes base d’algorithmique ?
Parce que faire une boucle infini, ca peut arriver a tout le monde quand les conditions de sortie sont un peu complexes, mais la, au premier coup d’oeil on voit que tes deux boucles sont infinis vu que ta variable de test, $no, n’est jamais mise à jour …
Je te conseil vivement de regarder un des 12 milliards de tutorial d’initiation à la programmation, parce que la, a part te faire blacklister des serveurs de free, tu vas pas aller loin :slight_smile:

Héhé, amusant !

A rapprocher de ce topic ?

Sur ce coup là tu nous fait un peu le Regis de la programmation. Désolé, en tous cas ca m’a bien fait marrer.

Bah le truc pas mal aussi en général c’est de tester son code/script en local, sur une machine ou t’es admin et ou tu peux éventuellement redémarrer le serveur web ou tuer des process avant de le balancer sur un serveur sur lequel tu n’as pas la main.

Mais sinon, désolé mais moi aussi ça m’a bien fait marrer :slight_smile: J’imagine la panique quand t’as commencé à recevoir des tonnes de mail :crying:

Bon ca a diminué de cadence puis ca a fini par s’arreter…

Free a mis une limitation a 2000 mails/semaine (meme si j’en ai recu beaucoup plus…) apres avoir corrigé mon code ca ne marchais plus et je recoit un message du type Warning: mail() function.mail: Quota mail atteint in /mnt/...a chaque utilisation de la fonction mail()…

Donc plus possible d’envoyer des mail en PHP de ce compte pour une semaine (ca me donnera le temps pour bien lire les tuto :cry: )

Ca fais que quelques jours que je me suis mis « de loin » au PHP, et je testerai mes script sur un EasyPHP a la maison dorénavent c’est promis :slight_smile:

Gaston Lagaffe… :crying:

:slight_smile: J’imagine les sueurs froides. Bon finalement ce n’est pas si grave, ce n’est pas un rm -rf * ou un truncate table.

Bonjour,

Je réveille ce vieux post car malgré l’imprudence de la boucle sans fin, il m’intéresse.
En effet je vous explique mon cas, je cherche actuellement à créer un site web dans le cadre d’un projet universitaire ou le visiteur peut enregistrer des rappels à une heure et une date donnée. Il sera avertit par mail lors de l’événement programmé. Je dispose comme AcidBen d’un ftp free pour héberger mon site, donc je n’ai pas accès aux serveur pour mettre en place une routine qui controle toutes les evenements enregistrés et qui envoie les mails aux moment voulus.
J’avais donc reflechit à une boucle infini mais je n’ai pas encore pris la décision, alors je viens vers vous pour vous demandez si cela serait possible d’utiliser ce genre de programme pour réaliser mon problème ?

Merci à vous.

Je vois pas comment une boucle infinie pourrait t’aider.
D’ailleurs, les boucles infinies, je vois pas comment ça pourrait être bien.

/me pas compris.

[quote=“pr7, post:13, topic: 46939”]Je vois pas comment une boucle infinie pourrait t’aider.
D’ailleurs, les boucles infinies, je vois pas comment ça pourrait être bien.

/me pas compris.[/quote]

regarde cet article :
http://matthieu.developpez.com/execution_periodique

j’ai l’impression qu’il gère une execution_periode avec une boucle infini…c’est en lisant ceci que je me suis dit que ça pouvait me servir.

le probleme c’est surtout que php est le plus souvent configuré pour arrêter tout script après 30 secondes d’execution.

il y a pas mal de solutions moches pour relancer régulièrement un script depuis l’extérieur: brancher un aggrégateur rss dessus, par exemple. ou le plugin de firefox qui check si une page a été modifiée.

[quote=« rom1, post:12, topic: 46939 »]Bonjour,
[…]
J’avais donc reflechit à une boucle infini mais je n’ai pas encore pris la décision, alors je viens vers vous pour vous demandez si cela serait possible d’utiliser ce genre de programme pour réaliser mon problème ?

Merci à vous.[/quote]

A vue de nez PHP via un serveur web n’est pas un outil très adapté à ton besoin. A moins de lancer un beau thread - sans doute est ce possible, en php, si quelqu’un peut confirmer.
Comme tu le pressens, il te faut utiliser en sus un outil comme cron pour lancer ton batch « avertisseur de mail ». Et a priori chez free, ca va être chaud, je ne crois qu’il soit possible d’utiliser cron :slight_smile:

[quote=« Rabban, post:15, topic: 46939 »]le probleme c’est surtout que php est le plus souvent configuré pour arrêter tout script après 30 secondes d’execution.

il y a pas mal de solutions moches pour relancer régulièrement un script depuis l’extérieur: brancher un aggrégateur rss dessus, par exemple. ou le plugin de firefox qui check si une page a été modifiée.[/quote]

Aïe mes yeux saignent :slight_smile:

Pfiouuuuu faut avoir l’estomac bien accroché pour lire ce thread :slight_smile:

Moi j’y vois un lapsus révélateur…

Quel genre de lapsus tu vois ?