Trimitere numar mare de emailuri din PHP
Moderatori: coditza, Emil, Moderatori
-
Pirahna
- Senior Member
- Mesaje: 5985
- Membru din: Dum Aug 22, 2004 2:04 am
- Localitate: la birou
- Contact:
mail = server side
nu ai nevoie de ajax
dai mail, bagi un sleep random de la 1 la 45 de secunde intre mail-uri, si lasi scriptul sa mearga, poate ii pui si un max_execution_time la inceput de vreo 3-4 ore ca sa fii sigur.
adica
ini_set(max_execution_time,7200)
while -> mail, sleep(random)
exit
asa poti sa zicem sa trimiti 15 mailuri pe minut (asta ca sa nu fii blacklisted, daca te simti in forma poti sa incerci 3000 de mailuri pe minut) si scriptul oricum lucreaza singur, deci cam asta ar fi metoda optima.
succes.
ps: saitek, omul a cerut o solutie optima ...
nu ai nevoie de ajax
dai mail, bagi un sleep random de la 1 la 45 de secunde intre mail-uri, si lasi scriptul sa mearga, poate ii pui si un max_execution_time la inceput de vreo 3-4 ore ca sa fii sigur.
adica
ini_set(max_execution_time,7200)
while -> mail, sleep(random)
exit
asa poti sa zicem sa trimiti 15 mailuri pe minut (asta ca sa nu fii blacklisted, daca te simti in forma poti sa incerci 3000 de mailuri pe minut) si scriptul oricum lucreaza singur, deci cam asta ar fi metoda optima.
succes.
ps: saitek, omul a cerut o solutie optima ...
|
-
carco
- Senior Member
- Mesaje: 2799
- Membru din: Joi Mai 27, 2004 4:36 pm
- Localitate: Bucuresti
- Contact:
da, suna logic (e mai bine ca mailurile sa stea in coada serverului de mail (e proiectata pt. asa ceva) decat sa rulezi nspe ore acel script)
Trimiti 3-500mailuri (eventual, daca ti-e mila de server, dupa fiecare mail poti pune un usleep de o juma' de secunda, eu ultima data foloseam usleep(200000);) si iei o pauza de 30-60 minute (desi un server de mail liber va scapa de ele aproape instant, nu are nevoie de 1 ora). Cel mai bine ar fi sa monitorizezi coada si sa ajustezi pe parcurs nr. de mailuri (daca nu ai acces la coada serverului poti, de ex., dupa fiecare set sa iti trimiti si tie un mail si vezi dupa cat timp ajunge)
Trimiti 3-500mailuri (eventual, daca ti-e mila de server, dupa fiecare mail poti pune un usleep de o juma' de secunda, eu ultima data foloseam usleep(200000);) si iei o pauza de 30-60 minute (desi un server de mail liber va scapa de ele aproape instant, nu are nevoie de 1 ora). Cel mai bine ar fi sa monitorizezi coada si sa ajustezi pe parcurs nr. de mailuri (daca nu ai acces la coada serverului poti, de ex., dupa fiecare set sa iti trimiti si tie un mail si vezi dupa cat timp ajunge)
Programator cu experienta in Magento/ZF, Typo3/Flow3, Symfony, B2B, CRM, ERP, SMB... vand betoniera
poti eventual sa mai adaugi un camp in tabela de useri, ceva gen "mail sent", care sa ia valori 1 sau 0, dupa ce trimit un mail il faci 1, iar la final le faci pe toate 0, daca se intampla ceva sa se supra incarce si sa moara, cand mai dai odata cronu la o ora, sa verifice daca exista mailuri care nu au 1, si doar la alea sa mai trimita, daca nu mai exista nimic cu 0, le faci pe toate iar 0....si mai departe ziua urmatoare, sau cand trebuie
- gabysolomon
- Senior Member
- Mesaje: 743
- Membru din: Dum Apr 09, 2006 11:39 am
- Localitate: Bacau
- Contact:
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 14 vizitatori
