![]() |
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"]; ?> |
|
OT: skriv gärna lite bättre ämnesrader i forumet.
"fördröjning vid utskick av mail" hade varit lämpligt i detta fall. |
Har du väldigt många utskick får du nog köra scriptet i omgångar med crontab.
|
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 |
Citat:
|
Citat:
|
Tack allihopa, funktionen heter ju "sleep", man lär sig altid något nytt :D
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.. :rolleyes: |
Kod:
if(fmod($i, 2) == 0) { sleep(1) } |
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. |
Alla tider är GMT +2. Klockan är nu 17:41. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson