[PHP] mail met bijlage versturen, phpmailer class probleem

Pagina: 1
Acties:
  • 219 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Sjoerd
  • Registratie: December 2003
  • Niet online
Na een tijd te hebben geexperiment met zelf headers te schrijven en dergelijke om toch maar een bijlage te kunnen meesturen (excel bestand) via de php mail functie.
Werd ik er op attent gemaakt dat ik dit beter kon laten verzorgen door de phpmailer class.

Zag er op zich allemaal aardig en netjes uit, toch maar is testen dus volgende code kwam ik op uit:

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
// Instantiate your new class

$mail = new phpmailer();

// Now you only need to add the necessary stuff

$mail->Subject = $onderwerp;

$mail->IsHTML(true); 

$mail->Body    = $html;

if($bijlage=="ja"){

    $mail->AddAttachment("../upload/bijlage.xls", "bijlage.xls");  // optional name

}

$mail->From     = "info@bedrijf.com";

$mail->FromName = "bedrijf";

$mail->AddReplyTo("info@bedrijf.com","bedrijf");

                            

                #Mail versturen

                    if($groep == 1 ) { #groep1 mailen

                        $sql = 'SELECT email FROM adressen1';

                        $res = mysql_query( $sql );

                        while( $dat = mysql_fetch_assoc( $res ) ) {

                            $mail->AddAddress($dat['email']);       

                        }

                        $status="groep1 verzonden";

//zelfde voor groep 2-3 (maar onzinnig om te posten denk ik

}else { #Alleen eigenaar mailen

                        $mail->AddAddress("info@bedrijf.com");      

                        $status="eigenaar verzonden";

                    };

                    

    if(!$mail->Send()){

     $status= "Er was een probleem bij het verzenden van de nieuwsbrief!";

     exit;

}


Nu leek het perfect te werken, echter wat blijkt, de geadresseerden krijgen 2x een email
aan in1 in deze vorm (zwaar ingekort)

HTML:
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
> geadresseerde,
> geadresseerde,geadresseerde
> Subject: nieuwsbrief editie2
> Date: Thu, 11 Oct 2007 14:50:07 +0200
> Return-Path: info@bedrijf.com
> From: bedrijf < info@bedrijf.com>
> Reply-to:bedrijf < info@bedrijf.com>
> Message-ID:
> <4351a64d5b855b4355a05bb465d0a292@host>
> X-Priority: 3
> X-Mailer: PHPMailer [version 1.73]
> MIME-Version: 1.0
> Content-Type: multipart/mixed;
> boundary="b1_4351a64d5b855b4355a05bb465d0a292"
>
>
> --b1_4351a64d5b855b4355a05bb465d0a292
> Content-Type: text/html; charset = "iso-8859-1"
> Content-Transfer-Encoding: 8bit
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml">
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
> <title>Nieuwsbrief voorbeeld</title>
> <style type="text/css">
> <!--
> body {
> background-color: #cfd8e7;
> }
> -->
> </style></head>
>
> <body>
....

en dan

 </html>
>
> --b1_4351a64d5b855b4355a05bb465d0a292
> Content-Type: application/octet-stream; name="bijlage.xls"
> Content-Transfer-Encoding: base64
> Content-Disposition: attachment; filename="bijlage.xls"
>
> 0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAACAAAA8wAAAAAAAAAA
> EAAA/v///wAAAAD+////AAAAAPEAAADyAAAA////////////////////////////////////////
> ////////////////////////////////////////////////////////////////////////////
> //////////////////////////////////////////////////////////////////////////8J
> CBAAAAYFAEwfzQfJAAEABgMAAOEAAgCwBMEAAgAAAOIAAABcAHAAAgAAZ3MgICAgICAgICAgICAg
> ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
> ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEIAAgCwBGEBAgAAAMABAAA9AQIA
> AQCcAAIADgAZAAIAAAASAAIAAAATAAIAAACvAQIAAAC8AQIAAAA9ABIAkwMtAPw/8Sw4AAAAAAAB


Vervolgens ontvangen de geadresseerde hierna wel gewoon de nieuwsbrief in goede layout.
Nu weet ik niet goed hoe ik mijn probleem kan op googlen dus ik hoop dat iemand hier een idee heeft? :)

Modelbouw - Alles over modelbouw, van RC tot diorama


Acties:
  • 0 Henk 'm!

  • Kayshin
  • Registratie: Juni 2004
  • Laatst online: 09-03-2018

Kayshin

Bl@@T @@P!!!

Welk resultaat krijg je terug als je gewoon die query laat lopen op je database?

Het lijkt er trouwens op dat op een of andere manier de headers niet goed geset worden waardoor je dit vage mailtje krijgt. Ik heb zelf ook een soortgelijk probleem gehad met phpmailer, ik zal nog eens zoeken of ik het kan vinden.

Het zou kunnen zijn omdat dit niet goed werkt dat hij de HTML mail en de niet-HTML mail beiden verzendt, waarbij 1 met goede headers en de andere niet. Je moet altijd bij een mail een optionele body maken voor als mensen geen HTML hebben.

[ Voor 86% gewijzigd door Kayshin op 11-10-2007 22:44 ]

My personal videoteek: -Clique-; -NMe- is een snol!


Acties:
  • 0 Henk 'm!

  • Sjoerd
  • Registratie: December 2003
  • Niet online
Kayshin schreef op donderdag 11 oktober 2007 @ 22:41:
Welk resultaat krijg je terug als je gewoon die query laat lopen op je database?

Het lijkt er trouwens op dat op een of andere manier de headers niet goed geset worden waardoor je dit vage mailtje krijgt. Ik heb zelf ook een soortgelijk probleem gehad met phpmailer, ik zal nog eens zoeken of ik het kan vinden.

Het zou kunnen zijn omdat dit niet goed werkt dat hij de HTML mail en de niet-HTML mail beiden verzendt, waarbij 1 met goede headers en de andere niet. Je moet altijd bij een mail een optionele body maken voor als mensen geen HTML hebben.
Bedankt voor je antwoord.

Wanneer ik de query laat lopen krijg ik alle adressen 1 maal voorgeschoteld.

In de optionele body zet ik dan iets als, kan u dit bericht niet lezen klik dan hier?
:)

Modelbouw - Alles over modelbouw, van RC tot diorama


Acties:
  • 0 Henk 'm!

  • _Gekkie_
  • Registratie: Oktober 2000
  • Laatst online: 24-06 20:21

_Gekkie_

And the cow said: Helloooooow?

kijk even naar dé PHP mail klasse die er eigenlijk is: swiftmailer (www.swiftmailer.org) die werkt écht uitstekend is er voor PHP 4 én 5 en is super schaalbaar... (incl nette iterators / decorators etc)

Gekkie is a proud member of TheBenny!