je cherche a faire un formulaire d'envoie de mail
j'aurais bien voulu utiliser la fonction toute faite (formail) de l'hebergeur mais le probleme c'est qu'il n'y a pas la possibilite d'envoyer un fichier avec.
apres quelque recherche j'ai trouve un script que j'ai adapte
$dest_fichier = basename($_FILES['photo']['name']);
// formatage nom fichier
// enlever les accents
$dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par -
$dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $dest_fichier);
// copie du fichier
move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier.$dest_fichier);
// ouverture du fichier joint uploadé en lecture
$f = fopen($dest_dossier.$dest_fichier, "r") or die("ouverture du fichier $fich impossible ...");
// récupération du code du fichier joint
$fcode =fread($f, filesize($dest_dossier.$dest_fichier));
// encodage standard
$fcode = chunk_split(base64_encode($fcode));
fclose($f);
$basename = basename($dest_dossier.$dest_fichier);
$parts = explode('.',$dest_fichier);
$last = count($parts) - 1;
$ext = $parts[$last];
if($ext=="gif")
{ $type2="image/gif"; }
else if($ext=="png")
{ $type2="image/png"; }
else if($ext=="jpg")
{ $type2="image/jpg"; }
else if($ext=="jpeg")
{ $type2="image/jpeg"; }
// envoie du mail
$boundary = "----=".md5(uniqid(rand()));
$titre = "Incription au concour de $categorie";
$entete="From:$webmaster\r\n";
$entete.= "MIME-Version: 1.0 \r\n Content-Type: multipart/mixed;boundary=\"$boundary\"\r\n";
$entete.= "\r\n";
$entete.= "$boundary\r\n";
$entete.= "Content-Type: $type2; name=\"$basename\"\r\n";
$entete.= "Content-Transfer-Encoding: base64\r\n";
$entete.= "Content-Disposition: attachment; filename=\"$basename\"\r\n";
$entete.= "\r\n";
$entete.= "$fcode";
$entete.= "\r\n";
$message= "$boundary\r\n";
$message.= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
$message.= "Content-Transfer-Encoding: 8bit";
$message.= "\r\n";
$message.= "Inscription au concour de $categorie \r\n\r\n";
$message.= "Categorie : $categorie \r\n";
$message.= "Nom de la creation : $creation \r\n";
$message.= "Pseudo : $pseudo \r\n";
$message.= "Email : $email_part \r\n";
$message.= "Age : $age \r\n";
$message.= "Ville : $ville \r\n";
$message.= "Site perso : $site_perso \r\n";
$message.= "\r\n";
$message.= "$boundary"."--\r\n";
mail($webmaster,$titre,$message,$entete);
mon souci c'est que si je laisse le code comme ca, j'ai bien mon fichier joint mais j'ai plus de message, ni le trombonne indiquant le fait qu'il y a un fichier joint (c'est secondaire mais laisse supposer que le mail est mal formé)
si je met le code du fichier avec le message, j'ai bien un message mais tout codé du genre
comment faire pour avoir un mail "normal"----=4468eaff6764f21dbb40349a5c1e3f13
Content-Type: image/gif; name="100x90.gif"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="100x90.gif"
R0lGODlhZABbAPcAAAAAAP///+iw/5ZPs9yKyeq54OCa095/z9l8yuSq2tByw9h3y9p6zd19ztt8
zuB/0dp8zN5/0N1/0Nx/z9t+zd6B0Nt/ztF5xd6C0N2Bz92B0Nl/zN2C0NuBzduBz9uCz92F0NyK
0dRyyNd8zMdzvNh9ztp/0NuB0Nh/ztiAzd+F1d6E09qC0NmBzrpvsdmCztuE0bFsqN2N09WIzNmB
0NuD0tmC0NJ/ytyH09qH0diH0dqK0tmN0teS0dmE0taC0NqF09iE0deE0deG0dyL1teJ0deE0tWE
0NiH09eI09mL1dmQ1dWG0tCDztSH0daL1NaP1NON0dKG0dSK09iN19qS2v/+/9GK0tOT1ebG59SQ
etc....
... etc
NkACMUACDSABJlCpNFAFHkoQIAACObADOMCdPmCpZ5wDozvDmCG009nAB8EJZgm+eyiNj4jEJ/AB
FCACIrAAEJC+mPvKnxmGkqsCtewCLoAAEdAB5gunnJsQAQEAOw==
Inscription au concour de perle
Categorie : Perle
Nom de la creation : test
Pseudo : sheyko
Email : sheyko@tiscali.fr
Age :
Ville :
Site perso :
----=4468eaff6764f21dbb40349a5c1e3f13
avec message et fichier joint???
merci