taka Posté 16 Septembre 2005 Posté 16 Septembre 2005 Bonjour. Je suis sur OVH (pour situer l'environnement) Dans le même dossier j'ai : - mon fichier mail3.php avec le formulaire <html><body> <form ENCTYPE="multipart/form-data" action="./mail4.php" method=POST><center>De: <input type=text name = "from" size="30"><br>Destinataire: <input type=text name = "to" size="30"><br>Sujet: <input type=text name = "sujet" size="30"><br><br>Texte :<br><textarea name="message" rows="15" cols="40"></textarea><br><INPUT TYPE=FILE NAME="monfichier"><BR><input type=submit value="envoi"></center></form></body></html> - ma page mail4.php qui m'envoie les infos <html><body> <center><?$name_file = $_FILES['monfichier']['name']; $source=$_FILES['monfichier']['tmp_name'];move_uploaded_file($source, "./".$name_file); $extension=get_extension($name_file);$type="text/plain";if($type=="doc"){ $type="text/vnd.ms-word";}else if($type=="xls"){ $type="text/vnd.ms-excel";}$type2="image/png";if($extension=="gif"){ $type2="image/gif";}else if($extension=="bmp"){ $type2="image/bmp";}function get_extension($filename){ $parts = explode('.',$filename); $last = count($parts) - 1; $ext = $parts[$last]; return $ext;}//----------------------------------// Construction de l'entête//----------------------------------if($_POST['to']!=""){$boundary = "-----=".md5(uniqid(rand()));$header = "MIME-Version: 1.0\r\n";$header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";$header .= "\r\n";$msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";$msg .= "--$boundary\r\n";$msg .= "Content-Type: $type; charset=\"iso-8859-1\"\r\n";$msg .= "Content-Transfer-Encoding:8bit\r\n";$msg .= "\r\n";$msg .= $_POST['message'];$msg .= "\r\n";if($name_file!=""){$file = $name_file;$fp = fopen($file, "rb"); $attachment = fread($fp, filesize($file));fclose($fp);$attachment = chunk_split(base64_encode($attachment));$msg .= "--$boundary\r\n";$msg .= "Content-Type: $type2; name=\"$file\"\r\n";$msg .= "Content-Transfer-Encoding: base64\r\n";$msg .= "Content-Disposition: inline; filename=\"$file\"\r\n";$msg .= "\r\n";$msg .= $attachment . "\r\n";$msg .= "\r\n\r\n";$msg .= "--$boundary--\r\n";}$destinataire = $_POST['to'];$expediteur = $_POST['from'];$reponse = $expediteur;echo "Mail envoyé à $destinataire";mail($destinataire, $_POST['sujet'], $msg, "Reply-to: $reponse\r\nFrom: $expediteur\r\n".$header);}if($name_file!=""){unlink($name_file);}print("<br>\n");print("<br><A href=./mail3.php target=\"principal\"><font size=2>Envoyer un autre mail</font></A>");?></center></body></html> Quand je cliques sur "envoie" je reçois bien le mail... mais j'ai un problème avec le fichier. Il n'est pas en pièce jointe mais contenu dans le corps du mail... en gros j'ai une suite incessante de caractère Quelqu'un voit-il où est l'erreur ? j'ai beau chercher et je ne trouve pas Si vous trouvez je serait soulagé parce que le client ne va pas tarder à revenir à la charge Merci d'avance
Dan Posté 16 Septembre 2005 Posté 16 Septembre 2005 Salut, As-tu essayé en remplaçant tous tes "\r\n" par "\n" ? J'ai dû modifier des scripts en ce sens pour les faire fonctionner sur le qmail d'OVH standard. "my 2 cents" Dan
taka Posté 16 Septembre 2005 Auteur Posté 16 Septembre 2005 Ca fonctionne Merci beaucoup Mais par contre avec les gros fichiers ça plante je reçois un petit fichier tout pourri (genre 60 octets pour un fichier qui fait 2Mo à la base.) J'imagine que c'est OVH qui bride non ? Ou alors c'est une astuce ?
Dan Posté 16 Septembre 2005 Posté 16 Septembre 2005 Je m'en doutais Alzheimer ne me guette pas encore, ma mémoire est toujours bonne Pour les gros fichiers, je pense que la limite par défaut pour le téléchargement de fichiers avec php fait justement 2Mb ... Et comme tu es sur hébergement mutualisé tu ne pourras pas la changer. Il faut peut-être envisager de "saucissonner" les gros fichiers ? Dan
taka Posté 16 Septembre 2005 Auteur Posté 16 Septembre 2005 Il faut peut-être envisager de "saucissonner" les gros fichiers ? Oula, tu entend quoi par la ? En tout cas merci
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant