Pagina 1 din 1

Trimitere numar mare de emailuri din PHP

Scris: Joi Dec 13, 2007 7:30 pm
de cyberdog

Scris: Joi Dec 13, 2007 7:56 pm
de saitek

Scris: Joi Dec 13, 2007 10:11 pm
de cyberdog

Scris: Joi Dec 13, 2007 11:30 pm
de saitek
tocmai de aia am spus +ajax si pui un preloader,ca sa nu ai probleme de time out etc...

Scris: Joi Dec 13, 2007 11:50 pm
de cyberdog
Nu la asta ma refeream, intrucat pot trimite emailurile si printr-un cron job, dar ma ingrijoreaza sa nu supraincarc serverul dintr-o data trimitand poate mii de emailuri simultan.

Scris: Vin Dec 14, 2007 12:05 am
de Pirahna
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 ...

Scris: Vin Dec 14, 2007 12:11 am
de cyberdog
Merci mult pentru raspuns!

Aceasta este genul de solutie la care ma gandeam.
Alte solutii mai sunt?

Scris: Vin Dec 14, 2007 12:16 am
de Pirahna
Evident, poti de exemplu sa folosesti mai multe servere de mail ...
5 mesaje la unul, apoi 5 la urmatorul, apoi 5 la urmatorul, si pauza 2 secunde, si din nou reiei.

Foloseste-ti imaginatia.

Scris: Vin Dec 14, 2007 12:20 am
de cyberdog
Ar fi mai greu sa fac asta... Eu ma gandeam sa rulez cron job-ul la fiecare ora de exemplu , si la fiecare rulara sa mai trimita un set de emailuri.
Suna logic?

Scris: Vin Dec 14, 2007 6:45 am
de carco
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)

Scris: Sâm Dec 15, 2007 11:24 pm
de nightm

Scris: Dum Dec 16, 2007 3:52 am
de dechim

Scris: Dum Dec 16, 2007 11:29 pm
de nightm
@dechim ms pt raspuns, stiu ca nu trebuia sa postez aici dar era exact pe problema ca si eu fac un script de genul si nu am vrut sa mai deschid un topic nou doar pt asta.

Scris: Vin Ian 04, 2008 3:45 pm
de xmart2k
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

Scris: Dum Ian 06, 2008 8:19 pm
de gabysolomon
daca te ajuta uite o clasa la care am lucrat eu un pic pt altcineva ....
nu a mai avut nevoie de ea ... asa ca e inca in stare BETA