probleme avec boucle While et fonction php mail()
10 messages
• Page 1 sur 1
-

Kaliiii - WRInaute impliqué

- Messages: 603
- Inscription: 2 Mar 2005
probleme avec boucle While et fonction php mail()
Bonjour a tous !
Je rencontre un problème auquel je n'ai encore jamais trouvé de solution.
Lors d'un envoi de mail via un script php a un grand nombre d'adresse (4 000 environ), j'ai un gros bug qui envoie le mail en plusieurs exemplaires.
Ma requette en base ne comporte qu'une adresse par enregistrement et je fais un simple SELECT. Pas de doublons dans la base donc.
J'ai mis l'execution time du script a 1 an et je vais une pause d'une seconde entre chaque envoi.
Le script est lancé par un cronjob directement depuis le serveur.
Est-ce que quelqu'un a déja rencontré ce problème et y a trouvé une solution ? Est-ce un bug de php ?
Je rencontre un problème auquel je n'ai encore jamais trouvé de solution.
Lors d'un envoi de mail via un script php a un grand nombre d'adresse (4 000 environ), j'ai un gros bug qui envoie le mail en plusieurs exemplaires.
Ma requette en base ne comporte qu'une adresse par enregistrement et je fais un simple SELECT. Pas de doublons dans la base donc.
J'ai mis l'execution time du script a 1 an et je vais une pause d'une seconde entre chaque envoi.
Le script est lancé par un cronjob directement depuis le serveur.
Est-ce que quelqu'un a déja rencontré ce problème et y a trouvé une solution ? Est-ce un bug de php ?
-

webmasterlamogere - WRInaute passionné

- Messages: 1874
- Inscription: 17 Déc 2006
tu peux ajouter un DISTINCT pour être certain
- bozoleclown
- WRInaute impliqué

- Messages: 893
- Inscription: 24 Nov 2005
t'es sure que ton script n'est pas executé plusieurs fois ?
et plutot que de mettre un wget dans ton cron, mets un /usr/bin/php c'est plus propre
et plutot que de mettre un wget dans ton cron, mets un /usr/bin/php c'est plus propre
- bozoleclown
- WRInaute impliqué

- Messages: 893
- Inscription: 24 Nov 2005
Tu peux copier/coller la ligne de la crontab ici ?
-

mahefarivony - WRInaute accro

- Messages: 11405
- Inscription: 14 Oct 2002
j'ai déja rencontré le probleme : c'est la pause d'une seconde qui fait tout foirer.
La pause faut la faire sur le cron : appel du script toute les 5 minutes par exemple et envoi de 100 mails pendant ces 5 mn. Et taggage des mails qui ont été envoyé.
Bonne chance
La pause faut la faire sur le cron : appel du script toute les 5 minutes par exemple et envoi de 100 mails pendant ces 5 mn. Et taggage des mails qui ont été envoyé.
Bonne chance
-

mahefarivony - WRInaute accro

- Messages: 11405
- Inscription: 14 Oct 2002
- Code: Tout sélectionner
select id,email from newsletter where sentemail=0 limit 30
foreach email {
mail(email ..)
update newsletter set sentemail=1 where id=id
}
t'appelles ça toutes les x minutes avec ton crontab
10 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Fonction mail() bloqué suite à une boucle infinie
- fonction mail() pour php : probleme fichiers joints
- Envoi d'e-mail via la fonction mail() de php
- [SOLUTION] Mail via fonction PHP mail()
- FONCTION MAIL PHP
- Entete from fonction PHP mail
- En tête html via la fonction mail() de php
- [Php] Problème de boucle
- Fonction Mail avec easy php
- Emails html et fonction mail() de php
- La boîte de réception prioritaire sur Gmail - 31-08-2010
- Marketing viral et référencement - 11-10-2004
- Gmail, le service de mail de Google, sorti le 1er avril 2004 - 15-04-2004
- Sortie officielle de GoogleStats v2.0 ! - 23-02-2003
- Open Federation : Google Talk joue la carte de l'interopérabilité avec XMPP - 17-01-2006
- Le checksum de la Google Toolbar - 06-04-2003
Consultez la description détaillée des produits ou services de Google suivants : Gmail Notifier
- Recherche de citations d'un site en texte brut
Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités
