Ik heb een mail scriptje in elkaar gedraait dat een tekst bestandje uitleest met email adressen. Dit leek mij de makkelijkste manier omdat ik nog geen database tot mijn beschikking heb.
Nu check ik of de client grafische (MIME) emails kan ontvangen of niet en stuur aan de hand daarvan een HTML of TEKST email.
Nu lees ik het tekstbestand uit dat bestaat uit een rij email adressen, op elke regel een.
Ik vervang elke enter door een komma teken zodat er 1 lange rij komma gescheiden email adressen in een variabele komen te staan.
De mail functie geef ik nu als eerste argument de variabele met de adressen mee. Het eerste argument verzorgt het TO gedeelte en ondersteunt dus meerdere email adressen die komma gescheiden zijn.
Het probleem dat ik nu heb is dat de mailer bij Vuurwerk al sinds het versturen van de eerste officiele mailing continu blijft mailen naar iedereen in het bestand (ik heb uiteraard het script uitvoerig getest met persoonlijke email adressen en bogus adressen).
Ik zal even de code voor het versturen hier neerzetten (opmaak voor email enzo lijkt me niet nodig, maar op aanvraag post ik het hele script wel):
Het is heel vervelend dat de mailserver bij Vuurwerk nu blijft versturen omdat daar niemand te bereiken is. Ik hoop dat ze mijn email morgen snel lezen.
Mijn vraag is nu aan jullie of er met deze code iets fout kan gaan. Wat mij betreft namelijk niet. De mail functie wordt keurig 1 maal aangeroepen en staat niet in een loop waardoor er misschien onvoorziene problemen kunnen ontstaan.
Ik heb al gekeken of de email adressen toevallig niet mooi in $to worden gestopt maar als ik een simpel testscriptje gebruik om het bestand uit te lezen en de enters vervang door komma's (met ongeveer dezelfde code als boven, alleen verstuur ik geen mail maar echo ik $to gewoon naar het scherm) dan krijg ik keurig een lange regel komma gescheiden email adressen die allemaal maar 1 maal voor komen.
Wat kan er nu voor zorgen dat de mailer bij Vuurwerk mail blijft versturen naar iedereen die in het bestand staat ? Het lijkt nu wel of ik een email bom verstuur naar een heleboel mensen...
Nu check ik of de client grafische (MIME) emails kan ontvangen of niet en stuur aan de hand daarvan een HTML of TEKST email.
Nu lees ik het tekstbestand uit dat bestaat uit een rij email adressen, op elke regel een.
Ik vervang elke enter door een komma teken zodat er 1 lange rij komma gescheiden email adressen in een variabele komen te staan.
De mail functie geef ik nu als eerste argument de variabele met de adressen mee. Het eerste argument verzorgt het TO gedeelte en ondersteunt dus meerdere email adressen die komma gescheiden zijn.
Het probleem dat ik nu heb is dat de mailer bij Vuurwerk al sinds het versturen van de eerste officiele mailing continu blijft mailen naar iedereen in het bestand (ik heb uiteraard het script uitvoerig getest met persoonlijke email adressen en bogus adressen).
Ik zal even de code voor het versturen hier neerzetten (opmaak voor email enzo lijkt me niet nodig, maar op aanvraag post ik het hele script wel):
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| <snip> // Read users.dat, fill $to with recipients and send message with $to as first argument // which is a variable filled with comma separated email addresses $fileName = "users.dat"; $aryLines = file($fileName); foreach ($aryLines as $line) { $to .= $line . ","; } $to = preg_replace('/\s\s+/', '', $to); mail($to, "[wil niet spammen] nieuwsbrief", "", $headers); header( "Location: [geen zin om te spammen]/submitted.html" ); ?> |
Het is heel vervelend dat de mailserver bij Vuurwerk nu blijft versturen omdat daar niemand te bereiken is. Ik hoop dat ze mijn email morgen snel lezen.
Mijn vraag is nu aan jullie of er met deze code iets fout kan gaan. Wat mij betreft namelijk niet. De mail functie wordt keurig 1 maal aangeroepen en staat niet in een loop waardoor er misschien onvoorziene problemen kunnen ontstaan.
Ik heb al gekeken of de email adressen toevallig niet mooi in $to worden gestopt maar als ik een simpel testscriptje gebruik om het bestand uit te lezen en de enters vervang door komma's (met ongeveer dezelfde code als boven, alleen verstuur ik geen mail maar echo ik $to gewoon naar het scherm) dan krijg ik keurig een lange regel komma gescheiden email adressen die allemaal maar 1 maal voor komen.
Wat kan er nu voor zorgen dat de mailer bij Vuurwerk mail blijft versturen naar iedereen die in het bestand staat ? Het lijkt nu wel of ik een email bom verstuur naar een heleboel mensen...
[ Voor 13% gewijzigd door KneoK op 20-04-2005 21:49 ]