Hoe keuze uit variabele tabellen.
Met onderstaande code heb ik maar 1 tabel vanwaar uit de adressen gehaald kunnen worden.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
include "connect.php";
$query = mysql_query("SELECT emailadres FROM tabel1");
while ($result = mysql_fetch_row($query))
{
// Header maken
$header .= "From: \"Mij\" <[email protected]>\r\n";
// Bericht maken
$bericht = "Hoi\n\n";
$bericht .= "Blalblablal\n";
// Onderwerp
$onderwerp = "Mailtje!";
// Mailen
mail($result[0],$onderwerp,$bericht,$header);
}
?>
include "connect.php";
$query = mysql_query("SELECT emailadres FROM tabel1");
while ($result = mysql_fetch_row($query))
{
// Header maken
$header .= "From: \"Mij\" <[email protected]>\r\n";
// Bericht maken
$bericht = "Hoi\n\n";
$bericht .= "Blalblablal\n";
// Onderwerp
$onderwerp = "Mailtje!";
// Mailen
mail($result[0],$onderwerp,$bericht,$header);
}
?>
Hoe maak ik het mogelijk om vooraf een keuze te laten maken uit welke tabel de gegevens gehaald worden?
Iets dergelijks wat lijkt op:
Code (php)
Gewijzigd op 04/11/2010 19:49:47 door Bas IJzelendoorn
Is er een goede reden om meerdere waarom de data verspreid is over meerdere tabellen? In een goed genormaliseerd datamodel zou je dat immers niet verwachten. En dus zou je dit probleem dan ook niet hebben :-)
Je weet wel wat er gebeurd als ik per keer ruim 100 emails via een website verstuur....
Ik ben al een keer door de provider op non-actief gezet omdat het te fout ging.
Vandaar de vraag.
Ook heb ik dan gelijk de mogelijkheid om hetzelfde script ook voor andere doeleinden te gebruiken.
Een veel gehoorde reactie is: waarom niet phpmailer gebruiken?
Ik ben daar mee bezig geweest.
PHPMailer binnen gehaald en gelijk overweldigend geraakt door de veelvoud aan scripts.
Welke moet ik nou eigenlijk hebben en welke niet, dus waarom zoveel binnen halen en er niet uit kunnen komen.
Dan maar zelf iets bedenken wat wel eenvoudig gaat werken.
Een andere reactie is: waarom geen Mailman?
Dat progje staat bij de provider op de server, dus voor mij niet in te zien wat er werkelijk gebeurd.
Kort gezegd, wantrouwen.
Er kan iets ingebouwd zitten wat mijn adressen doorsluist naar iets of iemand anders die ze kan gaan gebruiken voor ongewenste doel-einden.
Daar zitten we dus ook niet op te kijken.
Kortom wil ik graag alles zelf in de hand houden om te weten wat ik doe en vooral om ook er van te leren hoe het werkt.
En die leer ervaring staat erg hoog in mijn vaandel, hoe meer ik bij leer hoe minder ik hoef te vragen naar schijnbaar eenvoudige oplossingen.
Op cursus gaan om bij te leren?
Zit er helaas niet in, ik werk ruim 70 tot 80 uur per week.
Quote:
De reden om de data te verspreiden is om de server niet te veel te belasten.
Je weet wel wat er gebeurd als ik per keer ruim 100 emails via een website verstuur....
Ik ben al een keer door de provider op non-actief gezet omdat het te fout ging.
Je weet wel wat er gebeurd als ik per keer ruim 100 emails via een website verstuur....
Ik ben al een keer door de provider op non-actief gezet omdat het te fout ging.
Dan heeft het verspreiden over twee tabellen geen enkele nut. De serverbelasting zit in het versturen van de mail, niet bij het ophalen van de adressen uit de database.
Dus gooi alles in 1 tabel, en stuur steeds 20 mailadressen als BCC in 1 mailrequest.
Ik heb geen idee hoe groot je mail-adressen bestand verder is.
Praten we over 1.000 man, 10.000 man, of 100.000 man?
Gewijzigd op 07/11/2010 11:00:37 door - Ariën -
Het gaat er mij dus om hoe ik dat opdeel en verstuur na een bepaalde tijd.
De eenvoudigste handmatige oplossing heb ik feite al.
Het zelf opdelen in tabellen van 5 en op zijn tijd het script aanpassen naar een ander tabel en versturen.
Maar dan moet ik wel steeds het script opnieuw uploaden en uitvoeren.
We praten wel over slechts een kleine 100 adressen, maar met een provider die het eigenlijk niet toestaat om mail via de website te versturen, laten ze oogluikend toe als het minimaal plaats vind.
Dus opdelen in kleine blokjes en verdelen over een bepaalde tijd zodat het weinig belastend is voor de website-server.
Dus zoek ik naar de oplossing om het gemakkelijker te doen, snap je?
Piet Marisael op 07/11/2010 10:34:19:
Een veel gehoorde reactie is: waarom niet phpmailer gebruiken?
Ik ben daar mee bezig geweest.
PHPMailer binnen gehaald en gelijk overweldigend geraakt door de veelvoud aan scripts.
Welke moet ik nou eigenlijk hebben en welke niet, dus waarom zoveel binnen halen en er niet uit kunnen komen.
Dan maar zelf iets bedenken wat wel eenvoudig gaat werken.
Ik ben daar mee bezig geweest.
PHPMailer binnen gehaald en gelijk overweldigend geraakt door de veelvoud aan scripts.
Welke moet ik nou eigenlijk hebben en welke niet, dus waarom zoveel binnen halen en er niet uit kunnen komen.
Dan maar zelf iets bedenken wat wel eenvoudig gaat werken.
Kwestie van even wat tijd besteden om je in php-mailer te verdiepen. Had dezelfde 'angst' als jij, maar het werkt bij mij nu met 1 (include)bestand. Enige wat je moet doen, is de juiste variant vinden.
Piet Marisael op 07/11/2010 10:34:19:
Een andere reactie is: waarom geen Mailman?
Dat progje staat bij de provider op de server, dus voor mij niet in te zien wat er werkelijk gebeurd.
Kort gezegd, wantrouwen.
Er kan iets ingebouwd zitten wat mijn adressen doorsluist naar iets of iemand anders die ze kan gaan gebruiken voor ongewenste doel-einden.
Dat progje staat bij de provider op de server, dus voor mij niet in te zien wat er werkelijk gebeurd.
Kort gezegd, wantrouwen.
Er kan iets ingebouwd zitten wat mijn adressen doorsluist naar iets of iemand anders die ze kan gaan gebruiken voor ongewenste doel-einden.
Als de provider misbruik zou maken van Mailman zou dat vast wel aan het licht komen/zijn gekomen. Heeft die wat uit te leggen.
Je hebt je bij dit forum aangemeld; wie garandeert je dat je mailadres hier niet wordt gebruikt voor commerciele of andere doeleinden? Wantrouwen is niet erg, maar het moet wel 'gezond wantrouwen' zijn.
Zoals ik zei, dat heeft totaal geen nut.
Eén tabel is echt prima genoeg voor het opslaan van je mailadressen.
Verder baart het mij zorgen dat je webhostingprovider een mailing van 100 mails niet toestaat. Als ik jouw was zou ik gewoon een andere hosting-provider zoeken die beter meewerkt....
Zoals ik al zei. Kijk eens naar naar de mogelijkheid om 20 mailadressen in een BCC header te plaatsen, zodat je 10 mails eruit stuurt in één request.
M.a.w. het liefst websites met platte tekst en wat eenvoudige plaatjes.
Tja zo kan ik het ook.
Alleen jammer adt ik het niet voor het kiezen heb wat betreft de provider, daar gaan anderen helaas over en die hebben deze keuze gemaakt.
Ik zal eens verder gaan zoeken naar oplossingen.
Die oplossing is al gegeven hoor :-)
Want ik heb het idee dat ik steeds één oplossing zoek in steeds een andere vraag:
http://www.phphulp.nl/php/forum/topic/probleem-met-phpmailer-werkend-te-krijgen/72665/
Was je wellicht ook al opgevallen.
----aanvulling----
Ik heb er een dagje over na zitten denken waarom de volgende code niet als antwoord is gekomen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<strong>Naam tabel</strong>
<select name="to">
<option value="">Maak uw keuze</option>
<option value="tabel1">tabel1</option>
<option value="tabel2">tabel2</option>
</select>
<?php
include "connect.php";
$query = mysql_query("SELECT emailadres FROM $to");
while ($result = mysql_fetch_row($query))
{
// Header maken
$header .= "From: \"Mij\" <[email protected]>\r\n";
// Bericht maken
$bericht = "Hoi\n\n";
$bericht .= "Blalblablal\n";
// Onderwerp
$onderwerp = "Mailtje!";
// Mailen
mail($result[0],$onderwerp,$bericht,$header);
}
?>
<select name="to">
<option value="">Maak uw keuze</option>
<option value="tabel1">tabel1</option>
<option value="tabel2">tabel2</option>
</select>
<?php
include "connect.php";
$query = mysql_query("SELECT emailadres FROM $to");
while ($result = mysql_fetch_row($query))
{
// Header maken
$header .= "From: \"Mij\" <[email protected]>\r\n";
// Bericht maken
$bericht = "Hoi\n\n";
$bericht .= "Blalblablal\n";
// Onderwerp
$onderwerp = "Mailtje!";
// Mailen
mail($result[0],$onderwerp,$bericht,$header);
}
?>
Let op regel 9
werkt dit niet of zie ik het verkeerd?
Gewijzigd op 08/11/2010 09:26:54 door Piet Marisael