Bonsoir,
j'ai un code qui me permet de mettre un fichier attaché dans un mail, mais je voudrais en mettre 3, donc comment faire ? Je mets le code PHP (c'est l'action du formulaire HTML dans lequel on sélectionne notamment les fichiers à attacher) :
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 <?php if ($_FILES['file']['name'] != "") $fichier=1; else $fichier=0; //init des var retournées par le form html $nomprenom=$_POST['nomprenom']; ... $msg="test"; if ($fichier=="1") { $chemin_destination = './'; $nom=$_FILES['file']['name']; $res_upload=move_uploaded_file($_FILES['file']['tmp_name'], $nom); $adr_file=$chemin_destination.$nom; } //----------------------------------------------- //DECLARE LES VARIABLES //----------------------------------------------- exp="..."; $email_expediteur=$exp; $email_reply=$exp; $destinataire=$exp; $frontiere = '-----=' . md5(uniqid(mt_rand())); //----------------------------------------------- //HEADERS DU MAIL //----------------------------------------------- $headers = 'From: "Nom" <'.$email_expediteur.'>'."\n"; $headers.= 'Return-Path: <'.$email_reply.'>'."\n"; $headers.= 'MIME-Version: 1.0'."\n"; if ($fichier=="0") { $headers.='Content-Type: text/html; charset="ISO-8859-1"'."\n"; } if ($fichier=="1") { $headers.= 'Content-Type: multipart/mixed; boundary="'.$frontiere."\"\n\n"; //----------------------------------------------- //MESSAGE //----------------------------------------------- $message ='This is a multi-part/mixed message in MIME format.'."\n"; $message.='--'.$frontiere."\n"; $message.='Content-Type: text/html; charset="ISO-8859-1"'."\n"; $message.='Content-Transfer-Encoding: base64'."\n\n"; $message.=chunk_split(base64_encode(nl2br($msg)))."\n"; //----------------------------------------------- //PIECE JOINTE //----------------------------------------------- $nom=$_FILES['file']['name']; $base=basename($nom); $pathinfo= pathinfo($nom); $ext=$pathinfo['extension']; $ext=strtolower($ext); // on ne passe l'extension en minuscules que pour le test, mais ds le mail on laisse l'extension switch ($ext) { case "toto": $mime="pouet/pouet"; break; ... default: echo "extension non prévue<br>"; } $message.='--'.$frontiere."\n"; $message.= 'Content-Type: '.$mime.'; name='.$base."\n"; $message.= 'Content-Transfer-Encoding: base64'."\n"; $message.= 'Content-Disposition:attachement; filename='.$base."\n\n"; $message.= chunk_split(base64_encode(file_get_contents($adr_file)))."\n"; $message.='--'.$frontiere.'--'."\n";} else $message=$msg; $sujet="formulaire"; @mail($destinataire,$sujet,$message,$headers); if ($fichier=="1") unlink($chemin_destination.$nom); ?>
Partager