[PHP]mailing gaat alleen naar laatste adres uit DB

Pagina: 1
Acties:
  • 58 views sinds 30-01-2008

  • degroot
  • Registratie: December 2003
  • Niet online
Ik ben bezig met een mailing list te maken.
Eerst had ik wat html probleempjes maar die zijn nu allemaal opgelost.

Nu haal ik dmv een query alle adressen uit mijn database.
Naar deze email adressen moet de mail verstuurd worden.

Alleen nu mailt mijn script alleen nog maar naar het laatste adres uit de database

Ik doe dit dmv een while loop....
En als ik de email adressen echo , krijg ik wel gewoon alle email adressen te zien....

Het gaat dus nog niet helemaal lkkr
Mijn source is nu...
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
    include("connect.php");
    require("class.phpmailer.php");
    
    $sql = "SELECT * FROM tbl_mailing";
    $result = mysql_query($sql) or die ("Kan gegevens niet uitvoeren" .mysql_error());
    while($row = mysql_fetch_object($result))
    {
        $naam = $row->naam;
        $email = $row->email;
        echo $naam;
        echo "<br>";
        echo $email;
        echo "<br>";
    
    
    $mail = new PHPMailer();
    //smtp server gegevens invullen
    $mail->IsSMTP();                                   
    $mail->Host     = "***"; 
    $mail->SMTPAuth = true;     
    $mail->Username = "***";
    $mail->Password = "***";
    
    //Email adres gegevens invullen
    $mail->From     = "nick@";
    $mail->FromName = "Nick de Groot";
    $mail->AddAddress($email);     

    $mail->WordWrap = 50;                              
    $mail->IsHTML(true);             
               
        //Onderwerp en html body geven
        $mail->Subject  = "Little Feet in Moodstreet";
        $mail->Body ='<html>';
        $mail->Body .='<head>';
        $mail->Body .='<title>Untitled-1</title>';
        $mail->Body .='<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">';
        $mail->Body .='</head>';
        $mail->Body .='<body bgcolor=#FFFFFF>';
        $mail->Body .='<table border=0 cellpadding=0 cellspacing=0>';
        $mail->Body .='<tr>';
        $mail->Body .='<td width=843 height=18 colspan=3>';
        $mail->Body .='[img]"http://10.10.20.5:82/moodstreet/images/1_01.gif"[/img]</td>';
        $mail->Body .='</tr>';
        $mail->Body .='<tr>';
        $mail->Body .='<td width=476 height=1031 rowspan=2>';
        $mail->Body .='[img]"http://10.10.20.5:82/moodstreet/images/1_02.gif"[/img]</td>';
        $mail->Body .='<td width=126 height=25>';
        $mail->Body .='<a href="http://moodstreet.nl">[img]"http://10.10.20.5:82/moodstreet/images/1_03.gif"[/img]</a></td>';
        $mail->Body .='<td width=241 height=1031 rowspan=2>';
        $mail->Body .='[img]"http://10.10.20.5:82/moodstreet/images/1_04.gif"[/img]</td>';
        $mail->Body .='</tr>';
        $mail->Body .='<tr>';
        $mail->Body .='<td width=126 height=1006>';
        $mail->Body .='[img]"http://10.10.20.5:82/moodstreet/images/1_05.gif"[/img]</td>';
        $mail->Body .='</tr>';
        $mail->Body .='</table>';
        $mail->Body .='</body>';
        $mail->Body .='</html>';
        }
    if(!$mail->Send())
    {  //checken of het mailtje verzonden is ,  zo nee dan deze error geven
        echo "E-mailtje is niet verzonden <p>";
        echo "Error van de Mailfunctie: " . $mail->ErrorInfo;
        exit;
    }


Het adres waar naar de mail verstuurd moet worden staat dus hier...
code:
1
$mail->AddAddress($email);

Maar daar komt alleen maar het laatste adres te staan
Terwijl als ik deze variable echo...er wel 3 adressen komen te staan(wat dus uit de db komt)
Hopelijk kunnen jullie mij ietwat opweg helpen...

[ Voor 17% gewijzigd door degroot op 20-06-2006 14:29 ]

www.degroot-it.nl


  • Gonadan
  • Registratie: Februari 2004
  • Nu online

Gonadan

Admin Beeld & Geluid, Harde Waren
Probeer het eens met CC of BCC.

gebruik code=php, dan krijg je handige kleurtjes :)

Je accolades lijken ook niet helemaal te kloppen.

Edit2:
precies wat m'n benedenbuurman zegt ;)

[ Voor 36% gewijzigd door Gonadan op 20-06-2006 14:29 ]

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


  • douweh
  • Registratie: Maart 2001
  • Laatst online: 09-10-2024
Je Send Functie roep je buiten je while loop aan..

PHP:
1
if(!$mail->Send())

  • Jimbolino
  • Registratie: Januari 2001
  • Laatst online: 13-02 16:07

Jimbolino

troep.com

douweh schreef op dinsdag 20 juni 2006 @ 14:27:
Je Send Functie roep je buiten je while loop aan..

PHP:
1
if(!$mail->Send())
en dat komt waarschijnlijk omdat zijn haakjes niet goed staan, of niet goed is ingesprongen...

The two basic principles of Windows system administration:
For minor problems, reboot
For major problems, reinstall


  • degroot
  • Registratie: December 2003
  • Niet online
douweh schreef op dinsdag 20 juni 2006 @ 14:27:
Je Send Functie roep je buiten je while loop aan..

PHP:
1
if(!$mail->Send())
Dat is alleen een check of de mail wel verstuurd is ....
Zo niet dan een foutmelding.....
Hij verstuurd de mail ook gewoon , alleen maar naar het laatste adres uit de DB

CC en BCC wil ik niet mee werken.
Ik wil namelijk niet dat andere kunnen zien die de mail ontvange, wie nog meer de mail ontvangen.
Daar moet dus alleen hun eigen adres komen te staan... vandaar dat ik geen CC en BCC maak

www.degroot-it.nl


  • Jimbolino
  • Registratie: Januari 2001
  • Laatst online: 13-02 16:07

Jimbolino

troep.com

zet maar eens // ervoor, dan zul je zien dat het niet alleen 'de check' is ;)

The two basic principles of Windows system administration:
For minor problems, reboot
For major problems, reinstall


  • Reinier
  • Registratie: Februari 2000
  • Laatst online: 14:34

Reinier

\o/

BCC kan dan toch juist wel? Of vergis ik mij?

  • douweh
  • Registratie: Maart 2001
  • Laatst online: 09-10-2024
degroot schreef op dinsdag 20 juni 2006 @ 14:30:
[...]


Dat is alleen een check of de mail wel verstuurd is ....
Zo niet dan een foutmelding.....
Hij verstuurd de mail ook gewoon , alleen maar naar het laatste adres uit de DB

CC en BCC wil ik niet mee werken.
Ik wil namelijk niet dat andere kunnen zien die de mail ontvange, wie nog meer de mail ontvangen.
Daar moet dus alleen hun eigen adres komen te staan... vandaar dat ik geen CC en BCC maak
Het is niet alleen een check. Het is een functie die de mail verstuurd en vervolgens returned of dat goed ging (jouw checkwaarde). Het is ook heel logisch op deze manier dat ie alleen het laatste mailadres een mail stuurt. Elke loop wordt er een ander mail adres ingesteld en pas na die loop wordt er daadwerkelijk wat verstuurd.

  • Gonadan
  • Registratie: Februari 2004
  • Nu online

Gonadan

Admin Beeld & Geluid, Harde Waren
degroot schreef op dinsdag 20 juni 2006 @ 14:30:
[...]


Dat is alleen een check of de mail wel verstuurd is ....
Zo niet dan een foutmelding.....
Hij verstuurd de mail ook gewoon , alleen maar naar het laatste adres uit de DB
Hij verstuurt de mail maar één keer omdat die if statement buiten je while loop staat als al vaker aangegeven.
Zet die hele statement binnen je loop en hij stuurt 3 mailtjes. :)
CC en BCC wil ik niet mee werken.
Ik wil namelijk niet dat andere kunnen zien die de mail ontvange, wie nog meer de mail ontvangen.
Daar moet dus alleen hun eigen adres komen te staan... vandaar dat ik geen CC en BCC maak
Daar is juist BCC voor ;)

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


  • Wacky
  • Registratie: Januari 2000
  • Laatst online: 20-01 18:47

Wacky

Dr. Lektroluv \o/

Het Send commando staat inderdaad buiten de while loop.

Nu ook met Flickr account


  • SeatRider
  • Registratie: November 2003
  • Laatst online: 14:39

SeatRider

Hips don't lie

En wat heb je aan images die alleen op 10.10.x.y aanwezig zijn? Niemand kan die dan toch zien?

Nederlands is makkelijker als je denkt


  • degroot
  • Registratie: December 2003
  • Niet online
Sorry ik dacht dat dat gewoon een check was van de PHPmailer.
Nu heb ik de accolade onder de check(en dus ook mail) functie gezet.
En nu werfkt het wel!!

Excuseer mijn lompigheid!!
Maar erg bedankt!!
SeatRider schreef op dinsdag 20 juni 2006 @ 14:38:
En wat heb je aan images die alleen op 10.10.x.y aanwezig zijn? Niemand kan die dan toch zien?
Maakt verder niet uit.
Ik wilde eerst de hele opzet van de mailing list maken. en intern als test naar een paar collegas versturen.

Zodra deze list naar de klanten gaat(want de definitieve layout is er niet , dus moet toch allemaal aangepast worden)Word dit allemaal op externe adressen gezet

[ Voor 56% gewijzigd door degroot op 20-06-2006 14:40 ]

www.degroot-it.nl


  • GlowMouse
  • Registratie: November 2002
  • Niet online
degroot schreef op dinsdag 20 juni 2006 @ 14:30:
[...]
Dat is alleen een check of de mail wel verstuurd is ....
Zo niet dan een foutmelding.....
Hij verstuurdt de mail ook gewoon , alleen maar naar het laatste adres uit de DB
Je hebt het over 'de mail'. Welke mail had je precies in gedachten? Je zou dit toch van alle mails willen weten, niet alleen van de laatste als je al klaar bent met loopen?

Daarnaast denk ik dat je er goed aan doet je code goed in te springen, en je te verdiepen in hoe loops werken. Het opbouwen van de mail-body bijvoorbeeld, hoeft echt niet in een loop te gebeuren.

  • ReZ1987
  • Registratie: September 2003
  • Laatst online: 12:54
SeatRider schreef op dinsdag 20 juni 2006 @ 14:38:
En wat heb je aan images die alleen op 10.10.x.y aanwezig zijn? Niemand kan die dan toch zien?
Viel mij ook al op; zo werken ze alleen binnen het interne netwerk :)
edit:
Oh damn, de TS heeft de vraag al beantwoord, * ReZ1987 = spuit 11 O-)

[ Voor 15% gewijzigd door ReZ1987 op 20-06-2006 14:41 ]

Death Knight Zaebor(80), Warlock Thortur (80) en Druid Galithor (80). Retired.


  • Speedener
  • Registratie: September 2000
  • Laatst online: 19-02 15:34
Nog als tip: Het zou ook netjes zijn een plaintext gedeelte bij te voegen, met iig de tekst dat de echte content zich bevindt in het html gedeelte en dat de lezer een html e-mail client moet gebruiken om de mail te kunnen lezen. Dat komt wel netjes over naar je klanten ;)

Overigens kan je voor dit ook best BCC gebruiken, Als je de klanten echt 'persoonlijk', met naam in de mail enzo wilt aanspreken kan je niet anders en moet je deze manier gebruiken.

  • whoami
  • Registratie: December 2000
  • Laatst online: 19-02 23:53
Dit probleem had je zelf ook makkelijk kunnen oplossen met zelf eerst eens even je code te debuggen, en consequent te zijn wmb indentatie.

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.