Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1431 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Envoi Mailing 200 000 emails ..

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Envoi Mailing 200 000 emails ..

n°1504720
ncdetoulou​se
Posté le 18-01-2007 à 18:16:31  profilanswer
 

Hello à tous,
Je dois envoyer un mailing vers une base email comportant un peu plus de 200 000 entrées ..
Jusque là je fonctionnais avec un script PHP, fonction mail, avec une boucle while ..
Mais ca ne devient plus du tout gérable ..
Pouvez-vous m'aider ?
Merci d'avance !

mood
Publicité
Posté le 18-01-2007 à 18:16:31  profilanswer
 

n°1504727
rufo
Pas me confondre avec Lycos!
Posté le 18-01-2007 à 18:26:45  profilanswer
 

avec cron. cron lance toutes les x minutes un script php qui envoie le mail pour un nb donné d'adresses e-mail (par ex, 100).
 
Vue qu'il y a 200 000 adresses, faut soit diminuer l'intervalle de temps, soit augmenter le nb donné d'adresses (passer à 1000)...


Message édité par rufo le 18-01-2007 à 18:28:32
n°1504728
ncdetoulou​se
Posté le 18-01-2007 à 18:27:43  profilanswer
 

Et comment faire pour qu'il n'envoie pas aux mêmes deux fois ?..

n°1504730
rufo
Pas me confondre avec Lycos!
Posté le 18-01-2007 à 18:29:35  profilanswer
 

ncdetoulouse a écrit :

Et comment faire pour qu'il n'envoie pas aux mêmes deux fois ?..


 
ben tu prend les 1000 premières adresses e-mail de ta base, ensuite les 1000 suivantes, etc.  
En SQL, LIMIT n,m tu connais?
 
Après, si dans ta BD t'as des doublons, à toi de faire une requête plus chiader pour éliminer les doublons à l'aide de DISTINCT ou GROUP BY...


Message édité par rufo le 18-01-2007 à 18:30:36
n°1504732
ncdetoulou​se
Posté le 18-01-2007 à 18:30:23  profilanswer
 

Malheureusement non .. :-(

n°1504734
rufo
Pas me confondre avec Lycos!
Posté le 18-01-2007 à 18:31:07  profilanswer
 

ncdetoulouse a écrit :

Malheureusement non .. :-(


 
ben va lire la doc de MySQL à propos de LIMIT.
http://dev.mysql.com/doc/refman/5.0/fr/select.html


Message édité par rufo le 18-01-2007 à 18:32:12
n°1504735
ncdetoulou​se
Posté le 18-01-2007 à 18:31:36  profilanswer
 

Merci de m'avoir aiguyé en tout cas ;)
Merci beaucoup !

n°1504742
Taz
bisounours-codeur
Posté le 18-01-2007 à 18:49:08  profilanswer
 

tu fais pas en php dans ton httpd et c'est tout.
 
si t'aimes vraiment php, tu le fais en cli, sinon tu utilises un autre langage de script.

n°1504743
ncdetoulou​se
Posté le 18-01-2007 à 18:53:56  profilanswer
 

Dans mon httpd, c'est a dire ?

n°1504938
rufo
Pas me confondre avec Lycos!
Posté le 19-01-2007 à 10:30:37  profilanswer
 

ben tu passes pas par apache. Tu lances directement ton script via php.exe.

mood
Publicité
Posté le 19-01-2007 à 10:30:37  profilanswer
 

n°1504945
soulmanto
Chat Noir replica
Posté le 19-01-2007 à 10:42:00  profilanswer
 

Euh, le limit, c'est bien mais pas suffisant je pense... pour mon appli de niouzeletter, j'utilise quelques champs supplémentaires pour pas envoyer deux fois le mail à la même personne:
 
- un flag traitement : 0 = à traiter, 1 = traité, 2 = erreur traitement
- date de traitement format timestamp
 
Ensuite, je fais une boucle ou je traite peu de lignes (entre 500 et 1000) puis un rafraichissement de la page via un "header()"

n°1504949
FlorentG
Unité de Masse
Posté le 19-01-2007 à 10:43:56  profilanswer
 

ncdetoulouse a écrit :

Jusque là je fonctionnais avec un script PHP, fonction mail, avec une boucle while ..
Mais ca ne devient plus du tout gérable ..


C'est écrit cash dans la doc, ça ouvre un socket à chaque fois, donc il ne faut jamais le mettre dans un while...

n°1504950
rufo
Pas me confondre avec Lycos!
Posté le 19-01-2007 à 10:44:06  profilanswer
 

soulmanto a écrit :

Euh, le limit, c'est bien mais pas suffisant je pense... pour mon appli de niouzeletter, j'utilise quelques champs supplémentaires pour pas envoyer deux fois le mail à la même personne:
 
- un flag traitement : 0 = à traiter, 1 = traité, 2 = erreur traitement
- date de traitement format timestamp
 
Ensuite, je fais une boucle ou je traite peu de lignes (entre 500 et 1000) puis un rafraichissement de la page via un "header()"


 
ben si tu prends les adresses e-mail par paquets de taille identique, y'a aucune raison d'envoyer à une même adresse 2 fois le même mail. je parts du principe que tu n'as pas de doublon dans ta BD.

n°1504952
Chaos Inte​stinal
Posté le 19-01-2007 à 10:46:47  profilanswer
 

rufo a écrit :

ben si tu prends les adresses e-mail par paquets de taille identique, y'a aucune raison d'envoyer à une même adresse 2 fois le même mail. je parts du principe que tu n'as pas de doublon dans ta BD.


 
Le gros intérêt d'utiliser un flag (ou mieux, d'utiliser une table séparée pour y stocker les mails à envoyer) permet la reprise en cas de plantage.
Sur un traitement de cette importance, c'est priceless.

n°1504966
omega2
Posté le 19-01-2007 à 11:05:15  profilanswer
 

FlorentG a écrit :

C'est écrit cash dans la doc, ça ouvre un socket à chaque fois, donc il ne faut jamais le mettre dans un while...

Comment tu fais pour envoyer des mails à plusieurs personnes sans qu'elles voyent les adresses des autres si tu ne mets pas la fonction mail dans une boucle?

n°1504967
rufo
Pas me confondre avec Lycos!
Posté le 19-01-2007 à 11:07:08  profilanswer
 

omega2 a écrit :

Comment tu fais pour envoyer des mails à plusieurs personnes sans qu'elles voyent les adresses des autres si tu ne mets pas la fonction mail dans une boucle?


 
envoi en CCC (copie carbone cachée) sans doute...

n°1504969
Mxtrem
Posté le 19-01-2007 à 11:09:01  profilanswer
 

sinon tu utilises sarbacane :D

n°1504974
omega2
Posté le 19-01-2007 à 11:13:53  profilanswer
 

rufo a écrit :

envoi en CCC (copie carbone cachée) sans doute...

Si c'est ça, alors c'est le genre de message qui part directement à la poubelle chez moi : je ne lit que trés trés rarement les mailling qui ne me sont pas clairement adressé. ;)

Mxtrem a écrit :

sinon tu utilises sarbacane :D

Lol, pour l'avoir utilisé au boulot, je n'apellerais pas ça une méthode idéale vu que sarbacane est incapable (du moins dans la version que j'ai utilisé) de récupérer les données directement dans mysql et qu'il n'est pas fait pour personaliser les mails (je n'ai jamais trouvé comment lui dire de mettre le nom du destinataire dans le texte du mail)

n°1504976
rufo
Pas me confondre avec Lycos!
Posté le 19-01-2007 à 11:15:51  profilanswer
 

Chaos Intestinal a écrit :

Le gros intérêt d'utiliser un flag (ou mieux, d'utiliser une table séparée pour y stocker les mails à envoyer) permet la reprise en cas de plantage.
Sur un traitement de cette importance, c'est priceless.


 
Ca me gène d'intégrer dans mon MCD un champ relatif à un traitement. Si tu veux un mécanisme de reprise, tu peux toujours sauvegarder dans un fichier le nb de paquets d'envois que t'as déjà fait. Comme tu connais la taille d'un paquet, tu sais où faut faire repartir le LIMIT...

n°1504978
FlorentG
Unité de Masse
Posté le 19-01-2007 à 11:17:24  profilanswer
 

omega2 a écrit :

Comment tu fais pour envoyer des mails à plusieurs personnes sans qu'elles voyent les adresses des autres si tu ne mets pas la fonction mail dans une boucle?


Ben tu fais pas, parce que ça nique le script :D

n°1504988
omega2
Posté le 19-01-2007 à 11:25:40  profilanswer
 

FlorentG > Dans ce cas, on ne fait jamais de moteur de recherche : ca nique le serveur de devoir chercher.[:fitterashes]  
et on ne fait pas de saisie de message : ca nique l'espace disque. [:anathema]  
 
 :D  :D  :D  :D  :D  :D  
 
Bon, ok,  je [:gzk]  
 
 
 
 
Bon, sérieusement, faut bien les envoyer les messages, tu fais comment?

n°1505001
FlorentG
Unité de Masse
Posté le 19-01-2007 à 11:35:40  profilanswer
 

Je sais pas, j'ai pas encore réfléchis :D Mais dès que j'en aurais besoin, je me tournerais vers une solution qui tourne sur le serveur, comme l'a dit Taz

n°1505169
Mxtrem
Posté le 19-01-2007 à 16:24:45  profilanswer
 

omega2 a écrit :

Lol, pour l'avoir utilisé au boulot, je n'apellerais pas ça une méthode idéale vu que sarbacane est incapable (du moins dans la version que j'ai utilisé) de récupérer les données directement dans mysql et qu'il n'est pas fait pour personaliser les mails (je n'ai jamais trouvé comment lui dire de mettre le nom du destinataire dans le texte du mail)


 
 
tu convertis les données mysql en csv et le tour est joué, ensuite pour ce qui est de la personnalisation, sisi ça fonctionne (me souvient plus comment) :D
 
par contre ne pas trop l'utiliser, mon hebergeur avait reçu des plaintes pour spam  :whistle:

n°1505173
omega2
Posté le 19-01-2007 à 16:29:27  profilanswer
 

Mxtrem a écrit :

tu convertis les données mysql en csv et le tour est joué

Je trouve que c'est quand même lourd de devoir passer par un fichier intermédiaire alors qu'on a déjà une belle liste d'email dans une base de donnée.
Enfin, bref, on s'égare du sujet initial je crois même si pour moi la discution est intéressante.

n°1505177
Mxtrem
Posté le 19-01-2007 à 16:36:33  profilanswer
 

il existe plusieurs scripts de mailing list (très bons), il suffit qu'il y importe sa base de donnée et les emails seront simplements envoyés par le biais du mail()...
je l'avais testé une fois sur 3 ou 4000 emails et ça avait impeccablement fonctionné

n°1505179
FlorentG
Unité de Masse
Posté le 19-01-2007 à 16:37:24  profilanswer
 

Fonctionné comment ? En mettant le serveur par terre ? Ou en laissant un peu de place pour respirer ? :D

n°1505180
Mxtrem
Posté le 19-01-2007 à 16:40:11  profilanswer
 

no soucy pour le serveur, enfin après, c'est sur que si il est chez multimania :D...

n°1505187
j_lecruel
☀ ☁ ☂
Posté le 19-01-2007 à 16:54:40  profilanswer
 

FlorentG a écrit :

Fonctionné comment ? En mettant le serveur par terre ? Ou en laissant un peu de place pour respirer ? :D


 
+10000
 
Ca représente quand même une charge pas du tout négligeable.


---------------
♈ ♋ ♌ ♍ ♎ ♏ - Agora Fidelio | Galerie d'art Toulousaine
n°1505198
Mxtrem
Posté le 19-01-2007 à 17:15:03  profilanswer
 

toutafay, ça avait cependant fonctionné à environ 90%

n°1514698
nycius
Ich liebe dich !
Posté le 14-02-2007 à 17:53:08  profilanswer
 

FlorentG a écrit :

Fonctionné comment ? En mettant le serveur par terre ? Ou en laissant un peu de place pour respirer ? :D


 
En meme temps si tenvois une NL sur 200 000 @ faut pas avoir un celeron avec 512mo de RAM  :ange:  
 
perso on shoot 6M° d' @ par semaine avec une solution maison du type while barbarre + clustering smtp
 
no soucy ophély

n°1514743
jukieng
Posté le 14-02-2007 à 20:37:09  profilanswer
 

nycius a écrit :

En meme temps si tenvois une NL sur 200 000 @ faut pas avoir un celeron avec 512mo de RAM  :ange:  
 
perso on shoot 6M° d' @ par semaine avec une solution maison du type while barbarre + clustering smtp
 
no soucy ophély


 
En répartissant les 6000k emails sur la semaine ?
Si oui, ça doit faire un peu moins de 1000 email par minutes : Sur un serveur un temps soit peu puissant dédié à ça , et avec une appli bien codée, j'ai pas l'impression que ça soit si extraodinaire que ça :p


---------------
ilonet - Internet, Informatique et Webmastering
n°1514872
nycius
Ich liebe dich !
Posté le 15-02-2007 à 08:53:27  profilanswer
 

jukieng a écrit :

En répartissant les 6000k emails sur la semaine ?
Si oui, ça doit faire un peu moins de 1000 email par minutes


 
On a un capacié pourvant aller jusqu'à 2000@ /mn environ
 

jukieng a écrit :

Sur un serveur un temps soit peu puissant dédié à ça , et avec une appli bien codée, j'ai pas l'impression que ça soit si extraodinaire que ça :p


 
 :jap:

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Envoi Mailing 200 000 emails ..

 

Sujets relatifs
Script pour envoi de fichier par socketScript pour envoi de fichier par socket
comment tricher dans un FORM grace au PHP ??? envoi d'une valeur ?envoi d'un fichier par FTP sans le créer en local
Javascript: retrouver la méthode d'envoi de paramètres[batch] envoi mail d'un fichier dont je connais pas le nom
[RESOLU] [AJAX] probleme d'envoi d'un "+" par POST[javascript] Nombre aléatoire entre 100 et 200?
desactivation des messages d'alerte lors de l'envoi d'un mail par exceTexte changé après envoi via méthode post
Plus de sujets relatifs à : Envoi Mailing 200 000 emails ..


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR