Je travaille en PHP4 et mon site est hébergé.
J'essaie d'envoyer un mail en joignant un fichier. A force de rechercher j'ai fini par trouver un code que j'ai repris en modifiant les adresses et les chemins de fichier.
Je n'ai pas d'erreur et le mail arrive bien mais le fichier n'est pas joint.
Par contre quand je regarde les propriétés du mail dans ma messagerie le volume du source indique bien que quelque chose a été transmis.
Voici mon code. Si quelqu'un trouve mon erreur merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php $to = 'destinat@wanadoo.fr'; $subject = 'Test Direct'; $theFile = 'ADH0003LD.txt'; $path = "PDF/"; $headers = 'From: exped@wanadoo.fr'; // TEST $content = ""; $message = ""; $boundary = '-----=' . md5( uniqid ( rand() ) ); $message .= "Content-Transfer-Encoding: base64\n"; $message .= "Content-Disposition: attachment; filename=\"$theFile\"\n\n"; $fp = fopen($path.$theFile, 'r'); do { $data = fread($fp, 8192); if (strlen($data) == 0) {break;} $content .= $data; } while (true); FClose($fp); $content_encode = chunk_split(base64_encode($content)); $message .= $content_encode . "\n"; $message .= "--" . $boundary . "\n"; $message .= "--test message \n"; $headers = "From: \"Michel\"<exped@wanadoo.fr>\n"; $headers .= "MIME-Version: 1.0\n"; $headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\""; mail('destinat@wanadoo.fr', 'Email avec PJ', $message, $headers); //_________________________________header_____________________ echo "<HTML> \n"; echo "<BODY> \n"; echo "header".$headers; echo "\n"; echo "subject".$subject; echo "\n"; //echo "message".$message; echo "\n"; echo "to".$to; echo "</BODY> \n"; echo "</HTML> \n"; ?>
Partager