Bonjour,
J'ai un gros souci,
je dois pour demain solutionner un problème de code sur le site web de la société de mon boss. J'ai solutionné 90% des problèmes et le code fonctionne "presque" bien.
problème : lors de l'envoi du mail de confirmation (pour l'administration du site) avec pièce jointe (préalablement uploadé par formulaire), la pièce jointe est la, on peut la consulter sans souci, MAIS elle s'affiche aussi sous forme codée (...AAABBBCCCXYZ...) dans le corps du mail. Perso ca me dérangerais pas, mais pour montrer au patron ça fait crade.
Vous auriez une idée du pourquoi ça me fait ça?
voici mon code test
Code : PHP - Afficher / masquer les numéros de ligneet surtout merci pour votre aide
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87 <html> <body> <? $file_temp = $_FILES['file']['tmp_name']; $file_size = $_FILES['file']['size']; $file_name = $_FILES['file']['name']; $move = 'upload/'; if(isset($_POST['message'])) { $message_text=$_POST['message']; move_uploaded_file($file_temp,$move.$file_name); $file_a_traitee = $move.$file_name; $file = fopen($file_a_traitee,'r'); $read = fread($file,filesize($file_a_traitee)); fclose($file); //----------------------------------------------- //DECLARE LES VARIABLES //----------------------------------------------- $email_expediteur='votre_mail@fai.fr'; $email_reply='email_de_reponse@fai.fr'; $sujet="test attachement de fichier"; $destinataire="ginnie0708@yahoo.fr"; //----------------------------------------------- //GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML //----------------------------------------------- $frontiere = '-----=' . md5(uniqid(mt_rand())); //----------------------------------------------- //HEADERS DU MAIL //----------------------------------------------- $headers = 'From: "Nom" <'.$email_expediteur.'>'."\n"; $headers .= 'MIME-Version: 1.0'."\n"; $headers .= 'Content-Type: multipart/mixed; boundary="'.$frontiere.'"'; //----------------------------------------------- //MESSAGE TEXTE //----------------------------------------------- $message = 'This is a multi-part message in MIME format.'."\n\n"; $message .= '--'.$frontiere."\n"; $message .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n"; $message .= 'Content-Transfer-Encoding: 8bit'."\n\n"; $message .= $message_text."\n\n"; //----------------------------------------------- //PIECE JOINTE //----------------------------------------------- $message .= '--'.$frontiere."\n"; $message .= 'Content-Type: text/vnd.ms-word; name="'.$file_name.'"'."\n"; $message .= 'Content-Transfer-Encoding: base64'."\n"; $message .= 'Content-Disposition: attachement; filename="'.$file_name.'"'."\n\n"; $message .= chunk_split(base64_encode($read))."\n"; $message .= '--'.$frontiere.'--'."\n"; if(mail($destinataire,$sujet,$message,$headers)) { echo 'Le mail a été envoyé</br>'; } else { echo 'Le mail n\'a pu être envoyé</br>'; } } ?> bonjour,</br> veuillez cliquez sur le bouton pour envoyer un mail test</br> <form method="post" action="index.php" enctype="multipart/form-data"> <input type="text" name="message"/></br></br> <input type="file" name="file" /></br></br> <input type="submit" value="Envoyez un mail test"/> </form> </body> </html>
Partager