[PHP] Attachment PHP

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • shorty
  • Registratie: Juli 2000
  • Laatst online: 06-11-2024

shorty

tralalalala!

Topicstarter
Ik heb het volgende script geschreven:


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
        $file = fopen($_FILES['file']['tmp_name'],'r');
        $bestand = fread($file,$_FILES['file']['size']);
        fclose($file);      
        
        $headers  = "From: BFO2007 <bfo2007@nmedia.nl>\r\n";
        $headers .= "Reply-To: BFO2007 <bfo2007@nmedia.nl>\r\n";
        $headers .= "MIME-Version: 1.0\r\n";
        $headers .= "Content-Type: multipart/mixed; boundary=\"".bound."\"\r\n";
        $headers .= "Content-Disposition: attachment\r\n";
        
        $body.= "This is a multi-part message in MIME format.\r\n";
        $body.= "\r\n";
        $body.= "--".bound."\r\n";
        $body.= "Content-Type: text/plain; charset=iso-8859-1\r\n";
        $body.= "Content-Transfer-Encoding: 7bit\r\n";
        $body.= "\r\n";
        $body .= "Beste $row[voornaam],\r\n\r\n";
        $body .= $message;  
        $body .= "\r\n";
        $body .= "--".bound."\r\n"; 
        $body .= "\n";                         
        $body .= "Content-Type: ".$_FILES['file']['type']."; name=".$_FILES['file']['name']."\r\n";     
        $body .= "Content-Transfer-Encoding: base64\r\n";
        $body .= "Content-disposition: attachment; filename=".$_FILES['file']['name']."\r\n";
        $body .= "\n";
        $body .= chunk_split(base64_encode($bestand)) . "\r\n";
        $body .= "--".bound."--\r\n";

        mail("$row[email]", "$subject","$body","$headers");

Nu is het probleem dat wanneer deze code uitgevoerd wordt de mail er als volgt uit komt te zien:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Beste Hendrik,

fdas




--------------------------------------------------------------------------------


Content-Type: application/octet-stream; name=PSF-D7E1.CUE
Content-Transfer-Encoding: base64
Content-disposition: attachment; filename=PSF-D7E1.CUE

RklMRSAiUFNGLUQ3RTEuYmluIiBCSU5BUlkNCiAgVFJBQ0sgMDEgTU9ERTEvMjM1Mg0KICAgIElO
REVYIDAxIDAwOjAwOjAwDQo=

Het bestand is dan gecodeerd in de mail zelf opgenomen en niet als attachment zoals de bedoeling is. Dit is niet alleen met een .cue bestand maar met alle bestanden.

De source van de mail is als volgt:
code:
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
Message-Id: <20061204144324.38762329BA@dell1.site>
Date: Mon,  4 Dec 2006 15:43:24 +0100 (CET)
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary=2ebfc9ed4265e21546cd1450dc2ccd5d
Content-Disposition: attachment

--2ebfc9ed4265e21546cd1450dc2ccd5d
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 7bit


Beste Hendrik,

fdas


--2ebfc9ed4265e21546cd1450dc2ccd5d
[b]Content-Type: text/plain[/b]

Content-Type: application/octet-stream; name=PSF-D7E1.CUE
Content-Transfer-Encoding: base64
Content-disposition: attachment; filename=PSF-D7E1.CUE

RklMRSAiUFNGLUQ3RTEuYmluIiBCSU5BUlkNCiAgVFJBQ0sgMDEgTU9ERTEvMjM1Mg0KICAgIElO
REVYIDAxIDAwOjAwOjAwDQo=


--2ebfc9ed4265e21546cd1450dc2ccd5d--


Heeft iemand enig idee waarom de file in de mail zelf wordt gezet en niet als attachment wordt bijgevoegd? Heeft het iets met de headers of iets dergelijks te maken? Lijkt me dat het stukje wat bold is gemaakt in bovenstaande code niet juist is?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ik zie een dubbele Content-Type in je "attachment" :?
Het stukje wat je dus "bold" ( maar niet heus :P ) hebt gemaakt hoort er idd niet.

En da's zo op het eerste gezicht; wellicht mankeert er nog meer ;)

[ Voor 64% gewijzigd door RobIII op 04-12-2006 16:09 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • shorty
  • Registratie: Juli 2000
  • Laatst online: 06-11-2024

shorty

tralalalala!

Topicstarter
RobIII schreef op maandag 04 december 2006 @ 16:08:
Ik zie een dubbele Content-Type in je "attachment" :?
Het stukje wat je dus "bold" ( maar niet heus :P ) hebt gemaakt hoort er idd niet.

En da's zo op het eerste gezicht; wellicht mankeert er nog meer ;)
Idd, dat stukje "bold"... maar het probleem is dat ik die tweede Content-Type nergens in mijn code heb staan. Het komt er haast automatisch bij lijkt het.

Acties:
  • 0 Henk 'm!

  • shorty
  • Registratie: Juli 2000
  • Laatst online: 06-11-2024

shorty

tralalalala!

Topicstarter
PHP:
1
2
3
        $body .= "--".bound."\r\n"; 
        //$body .= "\n";                         
        $body .= "Content-Type: ".$_FILES['file']['type']."; name=".$_FILES['file']['name']."\r\n";

Dat heeft geholpen... er was een witregel tevel tussen de boundary en de Content-Type specificatie. Daardoor maakte hij zijn eigen Content-Type. Hoe belangrijk zo'n witregeltje kan zijn he!

RobIII bedankt voor je reactie!