Forum : Lws & Hebergeur-discount

Hébergement web, nom de domaine et serveur dédié.

probleme avec la fonction mail

Ici, parlez de développement Asp, Php, Asp.net, Mysql / Access, / sql serveur, de bases de données et de développement.
sheyko

mer. janv. 16, 2008 12:11 am  

bonjour,

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
----=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
comment faire pour avoir un mail "normal"
avec message et fichier joint???


merci

adminforum
Administrateur
Administrateur
Messages : 722

jeu. janv. 17, 2008 11:39 am  

vous pouvez allez dans l'espace client rubrique 5 il y a un formail tout fait que vous pouvez utilisez.
Laurent Helm
Division Technique
Documentations VPS: http://wiki.lws-hosting.com/doku.php/vps
Hebergeur-Discount: http://www.hebergeur-discount.com
LWS : http://www.lws.fr/
Twitter : http://twitter.com/Lwshosting
Facebook : https://www.facebook.com/lws.fr

  •   Information
  • Qui est en ligne ?

    Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 28 invités