Bonjour.
Je suis sur OVH (pour situer l'environnement)
Dans le même dossier j'ai :
- mon fichier mail3.php avec le formulaire
<html>
<form ENCTYPE="multipart/form-data" action="./mail4.php" method=POST>
<center>
De:
Destinataire:
Sujet:
Texte :
<textarea name="message" rows="15" cols="40"></textarea>
</center>
</form>
</html>
- ma page mail4.php qui m'envoie les infos
<html>
<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("
\n");
print("
Envoyer un autre mail
");
?>
</center>
</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 XD
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 :)
Afficher la suite