Hallo
Ik heb een lijst met 80 emailadressen van mijn vereniging.
Ik verstuur nu met phpmailer in één keer een amail naar alle adressen.
Bij sommige providers wordt dit gezien als bulkmail - spam.
Vandaar dat ik gaarne emails wil versturen per blok van 5 of 10 email adressen per keer
Hoe moet ik dit aanpakken? Met een for next loop of een Do While of op een andere manier
Heb op internet gezocht maar kom er niet uit.
Is er iemand die mij hierbij wilt helpen?

$adressen = [ ... lijst die je nu hebt ...];

while($selectie = array_splice($adressen,-10)){ //neem (de laatste) 10 adressen
  //mail versturen zoals je nu doet, maar dan met $selectie
} //net zolang tot er geen $selectie meer is = $adressen lijst is leeg
Dank je wel voor je snelle reactie Rob.
Heb nu dit php script:


<?php
$query1 = "SELECT * from users where active = 1";
$resultaat1 = mysqli_query($link,$query1);
$adressen = mysqli_fetch_array($resultaat1);

while($selectie = array_splice($adressen,-10)){ 
echo $adressen['lastname'];
echo '</br>';
}
?>

Krijg echter als resultaat
Janssen
Janssen
Janssen
Notice: Undefined index: lastname in /homepages/23/testemail4.php on line 26
Notice: Undefined index: lastname in /homepages/23/testemail4.php on line 26


Beste lijkt mij om gewoon een crontab aan te maken die een mailscript aanroept die een aantal klaargezette mailtjes verstuurt?
Of een LIMIT in je query?

Een crontab is een beter idee, dan heb je als alles goed is geen last van de time-out in PHP.
maar dan met $selectie ... dus:

$query1 = "SELECT * from users where active = 1";
$resultaat1 = mysqli_query($link,$query1);
$adressen = mysqli_fetch_array($resultaat1);

while($selectie = array_splice($adressen,-10)){ 
echo $selectie['lastname']; // <-- hier $selectie gebruiken!
echo '</br>';
}
Rob bedankt voor je antwoord:
Ik krijg nu echter

Notice: Undefined index: lastname in /homepages/23/d392268321/htdocs/email/testemail4.php on line 26
Notice: Undefined index: lastname in /homepages/23/d392268321/htdocs/email/testemail4.php on line 26
Notice: Undefined index: lastname in /homepages/23/d392268321/htdocs/email/testemail4.php on line 26
Janssen
Notice: Undefined index: lastname in /homepages/23/d392268321/htdocs/email/testemail4.php on line 26

o_O

mysqli_fetch_[color=#ff0000]array[/color]() haalt maar één record op. Mogelijk dacht je aan mysqli_fetch_[color=#ff0000]all[/color]()?

@Rene, je zegt:
Bij sommige providers wordt dit gezien als bulkmail - spam.

Maar vormt dit op dit moment een probleem? Ik neem aan dat niet iedereen bij elkaar kan zien wie een e-mailbericht ontvangt, dus je verstuurt waarschijnlijk individuele mailtjes?

Maar dan is het interessant om te weten of je van de SMTP-mogelijkheid van PHPMailer gebruik maakt? Als je dit niet doet, dan wordt dit waarschijnlijk eerder als spam bestempeld lijkt mij. Het grote voordeel van de SMTP-variant is volgens mij ook dat je echt op protocol niveau een éénmalige verbinding maakt en vervolgens alle mailtjes verstuurt.

Dit in tegenstelling tot de non-SMTP variant waarbij je per mail-operatie een verbinding maakt, en weer ophangt (volgens mij? kan iemand dit bevestigen of weerleggen?). Dit laatste is naar alle waarschijnlijkheid veel resource intensiever en ook vele malen spammeriger.
Ik heb inmiddels begrepen dat ik bij mijn provider geen SSH/TLS for shared hosting mag toepassen.
Ga verder zoeken richting inhoud van de mails, DKIM en/of DomainKeys, SPF en dergelijke.
In ieder geval nogmaals nedankt voor jullie reacties

Reageren