login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Gegevens uit een database gebruiken voor verzenden.

Offline peerke59 - 31/10/2010 15:48
Avatar van peerke59MySQL interesse Omdat ik pas begin met een database zou ik deze ook graag gaan gebruiken voor het versturen van een nieuwsbrief.
Momenteel maak ik nog gebruik van een .dat-file dat dienst doet als zogenaamde "database".
Hierin staan alleen maar de emailadressen.
Op zich werkt het wel, maar doordat er een kleine 100 adressen in staan wordt de e-mail als SPAM gezien.
Dus heb ik een database aangelegd op MYSQL.

Mijn vraag is nu:
wat en hoe moet ik veranderen aan de onderstaande code om met de database te werken?
Maar dan wel zo dat de nieuwsbrief in blokken van 20 adressen verzend wordt.

Wie kan mij daarmee helpen?
Plaatscode: 140150

27 antwoorden

Gesponsorde links
Offline Aar - 31/10/2010 17:30
Avatar van Aar PHP interesse Is het niet verstandiger om met phpMailer te werken om de mailing te versturen?
Dit maak alles minder spam gevoeliger.
Offline peerke59 - 31/10/2010 21:26 (laatste wijziging 07/11/2010 10:36)
Avatar van peerke59 MySQL interesse het was nou juist de bedoeling om niet met phpMailer te gaan werken.


Is er iemand die een oplossing voor mij heeft?
Offline Aar - 07/11/2010 10:38 (laatste wijziging 07/11/2010 10:38)
Avatar van Aar PHP interesse Waarom wil je niet met phpMailer werken?
Offline peerke59 - 08/11/2010 08:58
Avatar van peerke59 MySQL interesse Daar heb ik al verschillende keren mee zitten stoeien en kom er in de veelvoud van de scripts niet uit, dus waarom niet gewoon een werkend stukje code opnemen in het uiteindelijke script?
Maar dat had je al ergens anders ook al begrepen?
Je avatar komt me bekend voor  
Na al maanden vragen ben ik er nog steeds niet uit, al zeggen ze dat ze steeds de oplossing gegeven hebben ik een paar simpele woorden.
Valt me nog mee dat ze niet antwoorden met: computer uitzetten, probleem opgelost.
Offline Aar - 08/11/2010 10:52 (laatste wijziging 08/11/2010 10:56)
Avatar van Aar PHP interesse phpMailer werkt anders bij mij prima. Check hun site anders eens voor wat voorbeelden..
Dus vertel eens waarop je vast loopt?

En ja, dit icon is bekend ja. Elisha Cutbert...
Kan zijn dat je deze op GoT of Webmensen gezien hebt :-)
Offline peerke59 - 08/11/2010 12:02 (laatste wijziging 08/11/2010 12:06)
Avatar van peerke59 MySQL interesse phphulp kijk daar maar eens  
op GoT zit ik ook sporadisch, ben een van de allereerste leden daar  

ik krijg het idee dat ik een moeilijke vraag heb gesteld.
contact maken met m'n database ---> koud kunstje daar ligt het probleem niet
vervolgens wil ik een keuze maken uit verschillende tabellen en die keuze doorvoeren naar het verzend gedeelte

iets in de trent van (let op regel 10):
  1. <strong>Naam tabel</strong>
  2. <select name="to">
  3. <option value="">Maak uw keuze</option>
  4. <option value="tabel1">tabel1</option>
  5. <option value="tabel2">tabel2</option>
  6. .........
  7. </select>
  8. <?php
  9. include "connect.php";
  10. $query = mysql_query("SELECT emailadres FROM $to");
  11. while ($result = mysql_fetch_row($query))
  12. {
  13. // Header maken
  14. $header .= "From: \"Mij\" <email@adres.nl>\r\n";
  15. // Bericht maken
  16. $bericht = "Hoi\n\n";
  17. $bericht .= "Blalblablal\n";
  18. // Onderwerp
  19. $onderwerp = "Mailtje!";
  20. // Mailen
  21. mail($result[0],$onderwerp,$bericht,$header);
  22. }
  23. ?>


ziet het er nu bekend uit?

Dus daar zoek ik een oplossing voor, eentje die er duidelijk uit ziet en begrijpbaar is.
Offline Aar - 08/11/2010 12:59 (laatste wijziging 08/11/2010 13:00)
Avatar van Aar PHP interesse Wat is er mis met phpMailer? En waarom doe je niks met mijn gegeven tips uit het topic die ik op phpHulp gegeven heb?

Echt, twee tabellen is echt niet nodig om mail-adressen in op te slaan.
Geloof me nou eens toch.....
Offline peerke59 - 08/11/2010 13:10 (laatste wijziging 08/11/2010 13:35)
Avatar van peerke59 MySQL interesse Je bedoelt deze tip?
Citaat:
Dus gooi alles in 1 tabel, en stuur steeds 20 mailadressen als BCC in 1 mailrequest.

Ja dat kan ik wel lezen, maar niet verwerken hoe het moet.

Wat ik eigenlijk wil voorkomen is dat ik door een "foutje" alweer van internet afgesloten wordt door mijn provider.
Ik zit nog steeds in mijn "goedgedrag-proefperiode".
Snap je?
Daarom zou ik graag een juiste passende oplossing zien.
Als ik zelf zou gaan knutselen en testen of het werkt, loop ik grote kans dat ik straks internet niet meer op kan door een programeerfout.
Jij snapt dat, ik snap dat, maar mijn provider snapt dat niet.

Dus daarom ben ik op zoek naar code en geen platte tekst hoe het zou moeten.


-----aanvulling-----
ik heb op de site al wel een mogelijkheid om 1persoon één e-mail te sturen.
Daar zou ik ook iets mee kunnen gaan doen om er meerdere tegelijk uit te kunnen selecteren.

Dan zou deze code aangepast moeten worden, dan ben ik er ook:

  1. <?php
  2. $query = "SELECT naam, emailadres FROM tabelnaam";
  3. //query is aangemaakt
  4. $sql = mysql_query($query) or die ( mysql_error( ) );
  5. //query is uitgevoerd
  6. echo 'selecteer naam ontvanger: ' . '<select name="to">';
  7. while($record = mysql_fetch_assoc($sql)){
  8. echo '<option value="'.$record['emailadres'].'">'.$record['naam'].'</option>';
  9.  
  10. }
  11. echo '</select>';
  12.  
  13. ?>


Wat moet er dan veranderd worden?
Offline vinTage - 08/11/2010 14:30
Avatar van vinTage Nieuw lid Dat je email adressen uit een dat bestand komen heeft niets te maken met spam.
Als je exact dezelfde manier gebruikt om te verzenden met een database, is het nog even hard spam.

Zoals door Aar al aangegeven is phpmailer een heel deftige oplossing!

Afaik zijn je headers waarschijnlijk het probleem dat eea als spam wordt aangezien, ook de 'From' kan een probleem zijn als je verzend met bv 'site.com' en zegt dat het From: andere-site.com is.

Je kan dit simpel uittesten door gewoon het echte email adres in te vullen van je site (of als je local verzend, je ISP's email adres)
Offline peerke59 - 08/11/2010 14:49 (laatste wijziging 08/11/2010 14:53)
Avatar van peerke59 MySQL interesse Waarom krijg ik altijd antwoorden die ik niet vraag?

de vraag dan maar eens anders stellen.

is dit juist als ik multiple op regel 6 toevoeg?
  1. <?php
  2. $query = "SELECT naam, emailadres FROM tabelnaam";
  3. //query is aangemaakt
  4. $sql = mysql_query($query) or die ( mysql_error( ) );
  5. //query is uitgevoerd
  6. echo 'selecteer naam ontvanger: ' . '<select multiple name="to">';
  7. while($record = mysql_fetch_assoc($sql)){
  8. echo '<option value="'.$record['emailadres'].'">'.$record['naam'].'</option>';
  9.  
  10. }
  11. echo '</select>';
  12.  
  13. ?>

Offline Aar - 08/11/2010 15:21 (laatste wijziging 08/11/2010 15:25)
Avatar van Aar PHP interesse
Citaat:
Ja dat kan ik wel lezen, maar niet verwerken hoe het moet.

Wat ik eigenlijk wil voorkomen is dat ik door een "foutje" alweer van internet afgesloten wordt door mijn provider.
Ik zit nog steeds in mijn "goedgedrag-proefperiode".
Snap je?
Daarom zou ik graag een juiste passende oplossing zien.

Als je nou op PhpHulp las, had je kunnen lezen dat dat geen nut heeft. De belasting op de server blijft even groot met 1 tabel, als met twee of meer..... (met een kleine marge meer dan omdat je onlogisch bezig bent).

En waarom steek je nou je kop in het zand door te zeggen dat je geen phpMailer wilt gebruiken? Je geeft geeneens tegen-argumenten... (hoewel het niet wegneemt dat het een geweldige gebruiksvriendelkijke manier is om te mailen, terwijl je dan de juiste headers meestuurt, waarbij de kans op spam-herkenning kleiner wordt.)

Dus vertel eens, wat houdt je tegen?
En als je hosting al moeilijk doet om 100 mails... zoek een andere hosting.
Offline peerke59 - 08/11/2010 15:28
Avatar van peerke59 MySQL interesse Ik ga maar op de oude voet verder, tal van .dat-bestandjes op de site.
Steeds eentje in de code zetten, de e-mail naar die mensen sturen
vervolgens het volgende .dat bestandje opnemen in de code, uploaden en verzenden.
volgende bestandje opnemen, uploaden en verzenden

Dat lijkt mij nog de eenvoudigste manier om niet met phpmailer of iets dergelijks te werken.
Het is me nu wel duidelijk dat er toch geen oplossing komt op mijn vraag.
Offline Aar - 08/11/2010 15:31 (laatste wijziging 08/11/2010 15:37)
Avatar van Aar PHP interesse Maar WAT houdt je tegen? Of durf je dat soms niet te zeggen?   

Zonder phpMailer is de kans dat mails als spam worden gezien zelfs een stuk groter. phpMailer heeft meen ik zelfs een plugin die mails in reeksen kan versturen.....

Citaat:
Het is me nu wel duidelijk dat er toch geen oplossing komt op mijn vraag.

Er IS een oplossing gegeven, maar jij negeert het gewoon door je hoofd in het zand te steken, helaas....

Maar goed, als jij zograag blijvend veel moeite wilt doen en tijd wilt verspillen door met .dat bestandjes te klooien, ga je gang. Ik houd je niet tegen........ ;)
Offline peerke59 - 10/11/2010 09:09 (laatste wijziging 10/11/2010 09:10)
Avatar van peerke59 MySQL interesse Met phpmailer worden de e-mails verzonden via SMTP, alwaar de druk te hoog komt te liggen op de SMTP-server van mijn eigen provider.
Deze heeft een limiet van maximaal 100 e-mails per 24 uur.
Gezien het verleden mag ik daar niet weer in de fout gaan door een programeerfoutje.
Dus zou ik toch graag een oplossing hebben op de vragen!

Hoe om te zetten naar een MYSQL-databestand? (verbinding met het databestand is al voorhanden)
Hoe maak ik een keuze menu voor verschillende databestanden?
Offline Aar - 11/11/2010 15:27
Avatar van Aar PHP interesse Hoezo verschillende databestanden?

Ik leg het nog een keer uit:

Je hebt 1 database, daarin maak je een tabel aan met het veld mailadres.
Bij dat veld 'mailadres' plaats je steeds de mailadressen.....

Met phpMailer kan je overigens met phpMailer->isMail(); ook via PHP zelf mailen, maar dan gaat het via phpMailer. Lees de manual en examples eens door, die ze erbij leveren. 

En als je hosting zo moeilijk doet over een mailing. Verhuis gewoon, als ze de capaciteit niet bieden. 100 mails per 24 uur is gewoon erg weinig.


Offline peerke59 - 12/11/2010 09:41
Avatar van peerke59 MySQL interesse Het is niet aan mij om over een verhuizing te beslissen, dus moet ik ook er maar mee doen wat mij geboden wordt.
Zou ik verhuizen dat zou dat betekenen dat ik:

en de website moet verhuizen vanwege het niet mogen verzenden van e-mail via de website bij Vevida
en een andere eigen provider moet gaan kiezen omdat ik bij Ziggo het aantal e-mails van 100/dag niet mag overschrijden.

De oplossing die ik dan nog zie is het versturen van steeds 5 e-mails per keer om het zo weinig mogelijk op te laten vallen.

Jammer dat er geen oplossing gevonden kan worden die ik zoek.
Offline Aar - 12/11/2010 10:46 (laatste wijziging 12/11/2010 11:24)
Avatar van Aar PHP interesse En verder zijn er ZAT oplossingen gegeven met phpMailer.
Laat ik maar een linkje geven:

http://blog.acm...-phpmailer/

Verder vraag ik me af waarom je over Ziggo begint. Je bent toch bij Vevida gehost?
Neem aan dat die wel meer dan 100 mails per dag toestaan, zo niet, verhuizen. Ze leveren je iets waar je niet verder mee kan gaan.
Er past immers ook geen 1,5 liter melk in een 1-literpak.

Edit
Ik heb Vevida gebeld, en die staan grote hoeveelheden mails niet toe, tenzij je voor 12 euro per jaar, een mailinglijst aanvraagt, waarbij je een mailing naar een mailadres kan versturen die vervolgens naar duizenden anderen zouden kunnen worden gemailed.

Via PHP willen ze dat dit niet gebeurd, erg jammer.

Ik wil niet vervelend zijn, maar denk er eens over na of je wel bij Vevida zou willen blijven.
Menig betere hosting zou wel meer mails per dag toelaten...
Offline peerke59 - 12/11/2010 11:25 (laatste wijziging 12/11/2010 11:32)
Avatar van peerke59 MySQL interesse Aar je leest maar half, ik zal het nog een keer duidelijk uitleggen:

Zelf heb ik een account bij Ziggo.
Daar ben ik kort geleden de mist in gegaan door een programeerfoutje waarbij ik meer dan 100 e-mails op een dag verstuurde.
Ben toen afgesloten geweest en na een waarschuwing weer online gekomen.
Daar mag ik niet nog eens in de fout gaan, snap je?
Als ik nu phpmailer ga gebruiken loopt dat via mijn smtp op Ziggo, foute boel dus.
Dat wil dus niet!!

De website loopt bij Vevida, die kan ik niet verhuizen omdat ik daar niet over ga.
Ik pas die website alleen maar op zijn tijd aan, snap je ook hoop ik.

Conclusie:
als ik toch phpmailer zou gebruiken loop ik tegen 2 providers aan die niet bieden wat ik zou willen en jij in je gedachte hebt.

dus zoek ik een kleine oplossing in een script om de database aan te spreken en daar maximaal 5 adressen per keer uit te selecteren

Dus geen phpmailer


----ook een edit----
daar had je vevida helemaal niet voor hoeven bellen, dat wist ik ook al
en het is niet aan mij om te beslissen waar de website gehost wordt.
Offline Aar - 12/11/2010 11:30 (laatste wijziging 12/11/2010 11:45)
Avatar van Aar PHP interesse Ik lees echt niet half hoor.  

Standaard gaat phpMailer NIET via Ziggo mailen, alleen als je die SMTP ergens EXPLICIET op hebt gegeven. Anders mailt hij via de webserver van je hosting zelf. Idem dito met de mail() fucntie van PHP zelf.

Je zou alsnog prima phpmailer kunnen gebruiken, en bijv. een sleep(10) (10 seconden wachttijd) na elke 20 mail-adressen kunnen doen, zodat de mailserver een beetje bij kan komen.

Het blijft gewoon dat phpMailer beter dan mail() werkt, omdat deze standaard de juiste verstuurd waardoor nominatie als spam stukken minder wordt. Met name als je mails in HTML stuurt etc....

Zie ook eens dit: http://www.phpb...17955.html
Offline peerke59 - 12/11/2010 11:55
Avatar van peerke59 MySQL interesse
Citaat:
die staan grote hoeveelheden mails niet toe, tenzij je voor 12 euro per jaar, een mailinglijst aanvraagt,

dat is bekend, ze zetten je dan op een aparte server die de mails afhandeld

Citaat:
Anders mailt hij via de webserver van je hosting zelf.

dat mag dus ook niet

Citaat:
bijv. een sleep(10) na elke 20 mail-adressen kunnen doen


En dan maar hopen dat je geen foutje maakt.
Dan is het nog altijd beter om die mailinglist aan te vragen in de hoop dat contactformulieren e.d. niet opvallen.
Offline Aar - 12/11/2010 12:06
Avatar van Aar PHP interesse En in mijn ogen blijft het een brakke work-around.

Als mijn klant bij deze hosting zat had ik hem wel wat beters geadviseerd.
Ik wil niet zeggend at het met die sleep() goed zal gaan, maar dat moet je maar afwachten of de hosting moeilijk doet. Als ze echt een hard limiet hebben van 100 mails per dag via php(), tja, dan is een mailinglijst het makkelijkste.

Maar in mijn ogen blijft het gewoon een brak idee, gezien je losstaat van databases zoals MySQL enzo...
Offline peerke59 - 12/11/2010 12:22 (laatste wijziging 12/11/2010 12:33)
Avatar van peerke59 MySQL interesse Lees net op een andere site dat providers de mail()-functie op de servers uit kunnen schakelen.
Dat zal dan wel een aantal gevolgen hebben, geen contactformulier, geen gastenboek, geen e-cards, noem maar op....
Op zo'n manier zie ik het nut van een database ook drastisch slinken.

Andere oplossing zou dan zijn om de mail()-functie bij een andere provider gaan onderbrengen op losse pagina's.
Maar in welke situatie ga je dan belanden?
Eerst elke provider bellen of ze de mail()-functie wel toelaten via php?

Wil me ook niet gaan onderwerpen aan gratis aangeboden oplossingen via weet ik wie die jou gegevens verkeerd kunnen gaan gebruiken of overgeleverd zijn aan hun bestaan.
Dat is weer een nadeel van die oplossingen.

Echt duidelijk zijn de web-hosters ook niet met de mogelijkheid van de php mail()-functie, je moet ze zelf eerst daar over benaderen wat de mogelijkheden zijn.
Offline Aar - 12/11/2010 12:45
Avatar van Aar PHP interesse Elke hosting staat mail() wel toe (veel gratis hostings uitgezonderd). In geval van misbruik van de mailservers kunnen ze hem wel blokkeren, maar een beetje goede hosting zal wel 500 mails geen probleem vinden, en anders nemen ze vast wel contact met je op voordat ze mails gaan blokkeren.

Beetje doemscenario's waar je overigens begint...  
Offline peerke59 - 12/11/2010 13:44 (laatste wijziging 12/11/2010 13:45)
Avatar van peerke59 MySQL interesse Als ik de antwoorden van vevida bekijk staan ze het eigenlijk niet toe.
Laat ik ze maar niet wakker maken waarvoor ik de mail()-functie allemaal gebruik.
Tevens ben ik al een beetje aan het rondneuzen wat de mogelijkheden zijn bij andere hostings.
Op zich heb ik het al langer aangegeven dat ik het jammer vind dat ze voor vevida hebben gekozen en daar willen blijven.
Zelf kies ik liever voor mijndomein.
Dus daar heb ik nu een vraagje geplaatst hoe ver ik daar kan gaan.
Bij een positief antwoord trek ik zelf wel mijn plan.

Eigenlijk belachelijk om te weten wat vevida doet.

mail() via de webserver niet toestaan
alternatief voor €12 aanbieden in de vorm van een mailinglist
mailinglist bestaat niet meer dan uit het progje mailman
dat overigens gratis op internet te downloaden is.

eigenlijk mag dan phpmailer ook niet bij vevida, je blijft mail versturen via de webserver
Offline UpLink - 12/11/2010 15:12
Avatar van UpLink ... Met PHPMailer kan je een andere mailserver opgeven waar je mails van verstuurd worden...

Je kan dus een andere server opgeven dan de SMTP-server van je hoster...

om het dan helemaal duidelijk te maken

PHPMailer neemt de emailadressen uit de database -> PHPMailer verstuurd de mails vanaf de SMTP die jij opgeeft (je kan dus emails versturen vanaf een andere SMTP dan die van vevida).

Correct me if I'm wrong, maar dat versta ik uit alles wat Aar probeerd uit te leggen...
Offline kilian - 14/11/2010 16:27
Avatar van kilian Lid Vraagje: indien je met PHP script (wat je blijkbaar doet), waarom zit je dan bij een Windows host? Hier betaal je vaak meer ivm de licentiekosten.

Als je op zoek ben naar een nieuwe host mag je me altijd een PBtje sturen ;)
Offline Aar - 18/11/2010 08:48
Avatar van Aar PHP interesse
peerke59 schreef:
eigenlijk mag dan phpmailer ook niet bij vevida, je blijft mail versturen via de webserver

phpMailer mag, Als je maar geen grote hoeveelheden mails ermee verpreid. Dan zou je de SMTP van je provider kunnen gebruiken in je script. Bijv. die van x44all of ziggo of weet ik vele welke provider je hebt.
Dan kan je gewoon lekker bulkmail versturen.... (als je provider het weer toelaat, maar vaak hoor je die er niet over).

Als test er een mailtje mee wegsturen, en eens kijken in de headers waar die vandaan gesturud is, en je weet zeker of het veilig is.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.21s