Bonjour,
Je viens exposer mon problème ici après 2 semaine de recherche ou j'en deviens désespéré. J'ai crée un formulaire html et fait en sorte qu'il soit directement envoyé à mon adresse mail des qu'une personne appuie sur envoyer, j'ai voulu rajouter un bouton parcourir afin que la personne puisse ajouter n'importe quel fichier, mais je voudrais que ce fichier soit envoyé directement à l'adresse mail (sur outlook) en meme temps que le formulaire, sans devoir uploader le fichier sur un serveur. Je ne sais pas si je me suis bien fait comprendre. Voici ce que j'ai pu trouver comme script qui m'envoie bien un fichier avec un nom commencant par ATT******.txt mais avec rien dedans.
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 $boundary = md5(uniqid(microtime(), TRUE)); $headers = 'Mime-Version: 1.0'."\r\n"; $headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n"; $headers .= "\r\n"; $msg = 'Texte affiché par des clients mail ne supportant pas le type MIME.'."\r\n"; $msg .= '--'.$boundary."\r\n"; $msg .= 'Content-type: text/html; charset=ISO-8859-1'."\r\n"; $msg .= 'Mon formulaire en html'."\r\n"; $file_name = $_FILES['send_fic']['name']; if (file_exists($file_name)) { $file_type = filetype($file_name); $file_size = filesize($file_name); $handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open'); $content = fread($handle, $file_size); $content = chunk_split(base64_encode($content)); $f = fclose($handle); $msg .= '--'.$boundary."\r\n"; $msg .= 'Content-type:'.$file_type.';name='.$file_name."\r\n"; $msg .= 'Content-transfer-encoding:base64'."\r\n"; $msg .= $content."\r\n"; } $msg .= '--'.$boundary."\r\n"; if(!mail('mon_email',$_POST['intitule_des_problemes'], $msg, $headers)) {echo "ERROR";} else { echo "Mail bien envoyé";}
Partager