login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Iedere 5 sec 20 mails versturen

Offline arian - 20/08/2006 19:44
Avatar van arianHTML interesse Hallo,

Ik heb een php code die een nieuwsbrief verstuurd
  1. <?php
  2. // Controlleren van de variabelen....
  3.  
  4. // De sql en het uitvoeren
  5. $mail_sql = "SELECT email FROM gebruikers";
  6. $mail_res = mysql_query($mail_sql) or die('Er gaat iets fout'. mysql_error());
  7. while($mail = mysql_fetch_assoc($mail_res)){
  8. $naar = $mail['email'];
  9. $header = "From: info@website.nl \n";
  10. $header .= "Repy-To: info@website.nl \n";
  11. $verstuur = mail($naar, $onderwerp, $bericht, $header);
  12. if(!$verstuur){
  13. die('Er is een fout opgetreden, probeer het op een later tijdstip opnieuw!');
  14. }
  15. }
  16. echo 'De nieuwsbrief is verzonden';
  17. ?>

Dit werkt wel goed, Alleen als er bijvoorbeeld 1000 mailadressen in de database staan vindt de (mail)server dat niet zo leuk.
Vandaar dat ik had verzonnen dat hij iedere 5 seconden weer 20 mails verstuurd.
Ik heb alleen nog geen idee hoe 
Hoe zou ik dit als beste kunnen doen?

Groeten,
Arian

10 antwoorden

Gesponsorde links
Offline tbk - 20/08/2006 19:47
Avatar van tbk PHP beginner met een javascript tellertje..
Offline arian - 20/08/2006 20:00
Avatar van arian HTML interesse Hoe dan?
Offline Gerard - 20/08/2006 20:04
Avatar van Gerard Ouwe rakker Hou een teller bij met php. als $teller % 20 == 0 -> PHP.net: sleep
Offline Maarten - 20/08/2006 20:05 (laatste wijziging 20/08/2006 20:07)
Avatar van Maarten Erelid Sidenote: your mailserver sucks. 1000 mailtjes versturen houdt echt niks in, ik heb ooit *per ongeluk* (laptop nog voor in beslag genomen geweest ) net geen miljoen mailtjes verstuurd, via een mailserver die dan nog nog op een celeron systeem draaide, en de serverbeheerder had er niks van gemerkt.
Offline arian - 20/08/2006 20:13
Avatar van arian HTML interesse @Poximus: Met sleep duurt het nog al lang omdat je dan om de 20 mails 5 seconden moet wachten.

@Murfy Ik noemde maar een voorbeeld, ik weet wel dat hij met 333.000 wel iets verneemt 
Offline Gerard - 20/08/2006 20:43 (laatste wijziging 20/08/2006 20:43)
Avatar van Gerard Ouwe rakker
Citaat:
@Poximus: Met sleep duurt het nog al lang omdat je dan om de 20 mails 5 seconden moet wachten.


Niet wijsneus uit gaan hangen, stel dan sleep in op 2 of 3. En doe dit niet om de 20 mails maar om de 2000.
Offline Maarten - 20/08/2006 20:52 (laatste wijziging 20/08/2006 21:01)
Avatar van Maarten Erelid
Citaat:
@Murfy Ik noemde maar een voorbeeld, ik weet wel dat hij met 333.000 wel iets verneemt 
Ik ben er niet trots op maar ik had het over meer dan 800.000 mails Enneuh, hij mag toch iets vernemen, als je nu 333.000 mails verstuurt naar unieke adressen, who cares?

Ik veronderstel dat je deze maatregel wilt nemen om hardwareschade tegen te gaan (of servercrash oid), en dat is dus niet nodig En anders moet je over een degelijke host gaan denken 
Offline arian - 20/08/2006 21:01 (laatste wijziging 20/08/2006 21:10)
Avatar van arian HTML interesse @ proximus
sorry... dom van mij, dat had ik zelf gezegd

maar zou je dat iets verder uit willen leggen of een voorbeeldje willen geven? 

@ murfy Dat vernemen was een undersatement 
En een andere host lijkt mij niet nodig.
Offline Martijn1989 - 20/08/2006 22:16
Avatar van Martijn1989 PHP ver gevorderde Maak coockies aan waar die gebleven is, refresh de pagina, tel wat op aan je coockies, verstuur het, en refresh weer.
Offline Wim - 20/08/2006 22:25 (laatste wijziging 20/08/2006 22:26)
Avatar van Wim Crew algemeen arain bij in je code zetten (binnen de while lus):

  1. <?php
  2. if($i++ >= 20) {
  3. $i = 0;
  4. sleep(5);
  5. }
  6. ?>


//edit:
http://be2.php.net/sleep
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.204s