Bonjour à tous,
je me tourne vers vous en dernier recours,
je n'arrive pas à envoyer une pièce jointe dans un email..
Je récupère bien les informations du <input type="file" name="fileToSend" /> , mais lorsque que je prépare le message à envoyer, seule le texte est envoyé...
Voici mon code, n'hésitez pas à le critiquer, c'est comme ça que l'on apprend
Help please
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 // Création de la frontière $boundary = "-----=".md5( uniqid (rand())); if (isset($_FILES['fileToSend']['tmp_name']) && is_uploaded_file($_FILES['fileToSend']['tmp_name'])){ $file_name = $_FILES['fileToSend']['name']; $file_type = $_FILES['fileToSend']['type']; $file_size = filesize($_FILES['fileToSend']['tmp_name']); $content = chunk_split(base64_encode(file_get_contents($_FILES['fileToSend']['tmp_name']))); } // Création du header de l'e-mail $header = "From: \"MBF\" <xxxx@mxxxxx.fr>".$saut; $header .= "Reply-to: \"MBF\" <xxxx@mxxxxx.fr>".$saut; $header .= "MIME-Version: 1.0".$saut; $header .= "Content-Type: multipart/mixed; boundary=\"$boundary\""; // Déclaration du mail (un au format texte et l'autre au format html $mail_html = "<html><head></head><body><b><u>Voici le message :</u></b><i>".nl2br($corps)."</i></body></html>"; $mail_text = $corps; // Création du message $mess = $saut."--".$boundary.$saut; // Ajout du message au format HTML $mess.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$saut; $mess.= "Content-Transfer-Encoding: 8bit\n\n"; $mess.= $saut.$mail_html.$saut; $mess.= $saut."--".$boundary."--".$saut; // Ajout du message au format text $mess.= "Content-Type: text/plain; charset=\"iso-8859-1\"\n"; $mess.= "Content-Transfer-Encoding: 8bit\n\n"; $mess.= $mail_text; $mess.= $saut."--".$boundary."--".$saut; //=====Ajout de la pièce jointe. $mess.= 'Content-type:'.$file_type.';name='.$file_name.$saut; $mess .= 'Content-transfer-encoding:base64'.$saut; $mess .= "Content-Disposition: attachment; filename=\"$file_name\"".$saut; $mess .= $content.$saut; // $mess.= "Content-Type: image/jpeg; name=\"".$file_name."\"".$saut; // $mess.= "Content-Transfer-Encoding: base64".$saut; // $mess.= "Content-Disposition: attachment; filename=\"".$file_name."\"".$saut; // $mess.= $saut.$content_encode.$saut.$saut; // $mess.= $saut."--".$boundary."--".$saut; // Envoi du message. if (mail($mailToSend,$sujet,$mess,$header)) echo "Votre message a bien été envoyé"; else echo "Une erreur est survenue, merci de réessayer plus tard";
Florian
Partager