FAQ |
Kalender |
2009-03-28, 15:32 | #1 | |||
|
||||
Medlem
|
Hej!
jag har en lite funktion som skickar ut email till medlemmar som har inte loggat in (inloggs '0') problemet jag upplever nu är att det är för många mail samtidigt, skulle behöva en typ av "skicka bara 10 åt gången och vänta par sekunder nästa 10" osv.. Vet inte bara hur man inplementerar det i nedanstående. $result=mysql_query("select * from site_member WHERE inloggs ='0'"); while ($rad = mysql_fetch_array($result)) { $id = $rad["id"]; $namn = $rad["namn"]; $email = $rad["email"]; ?> |
|||
Svara med citat |
2009-03-28, 16:00 | #2 | |||
|
||||
Mycket flitig postare
|
||||
Svara med citat |
2009-03-28, 16:18 | #3 | ||
|
|||
Klarade millennium-buggen
|
OT: skriv gärna lite bättre ämnesrader i forumet.
"fördröjning vid utskick av mail" hade varit lämpligt i detta fall. |
||
Svara med citat |
2009-03-28, 18:32 | #4 | ||
|
|||
Supermoderator
|
Har du väldigt många utskick får du nog köra scriptet i omgångar med crontab.
__________________
Full-stack developer, free for smaller assignments |
||
Svara med citat |
2009-03-28, 20:06 | #5 | ||
|
|||
Medlem
|
Den inbyggda mail funktionen i PHP är ingen höjdare om man vill göra stora utskick. Ta en titt på Swift Mailer eller kanske Zend_Mail istället.
http://swiftmailer.org/ http://framework.zend.com/manual/en/zend.mail.html |
||
Svara med citat |
2009-03-28, 20:17 | #6 | ||
|
|||
Bara ett inlägg till!
|
Citat:
|
||
Svara med citat |
2009-03-28, 20:51 | #7 | |||
|
||||
Mycket flitig postare
|
Citat:
|
|||
Svara med citat |
2009-03-31, 11:10 | #8 | |||
|
||||
Medlem
|
Tack allihopa, funktionen heter ju "sleep", man lär sig altid något nytt
jag använder nu även cron för att köra funktionen i gång i månaden och det kan röra sig om 500 mail den ena gången och 30 mail nästa osv. Jag satte sleep värdet på 1 sekund mellan varje enskilt mailutskick och det verkar funka bra på webbkontot jag har. PS! dock hittade jag inte sleep exempel på hur man skickade ut en klunga åt gången.. |
|||
Svara med citat |
2009-03-31, 12:23 | #9 | ||
|
|||
Banned
|
Kod:
if(fmod($i, 2) == 0) { sleep(1) } |
||
Svara med citat |
2009-03-31, 14:56 | #10 | ||
|
|||
Klarade millennium-buggen
|
Citat:
Fast du hämtar 100st mail åt gången varje gång och skickar ut? Låt säga att du kör scriptet var 5:e minut, var 5:e minut hämtar scriptet 100 poster och skickar mail till dessa. 5 minuter efter det hämtar det 100 poster till. Och flaggar dom som du skickat till. Nu är 100st ett exempel, 250 alt. 500 st duger lika bra. 1 sekund och du skickar 500st mail, det är 8minuter extra vänte tid. |
||
Svara med citat |
Svara |
|
|