Ik heb het volgende script geschreven:
Nu is het probleem dat wanneer deze code uitgevoerd wordt de mail er als volgt uit komt te zien:
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:
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?
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?