Forum avec PJ vide

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Forum avec PJ vide

Re: Forum avec PJ vide

par Raymond » 13 mars 2013, 19:06

solution ici : http://php.net/manual/fr/ref.mail.php

Corrupted Attachments ???
I spent many hours with corrupted attachments (of all types of files) - The answer: a blank line is needed after $msg.=$file \r\n \r\n [incredible but true].

Re: Forum avec PJ vide

par Raymond » 13 mars 2013, 13:38

erreur du titre : c'est form et non forum ;)

Forum avec PJ vide

par Raymond » 13 mars 2013, 13:35

Coucou à tous,

Aujourd'hui je m'en remets à votre expertise car je bloque sur un souci.
En effet, j'ai codé un p'tit formulaire afin que les visiteurs m'envoient un document.
Ainsi, j'ai bien mon form, mon script d'envoi de mail... et tout cela fonctionne parfaitement sur Gmail.

Un ami sous Thunderbird (ou autres, c'est pareil) désirant récupérer mon code, je lui mets en place sans le moindre problème.
On lance un test et ... le mail arrive complet, avec la pièce jointe... mais celle-ci est vide (taille inconnue ou alors 0.0 ko)

Bref, je ne comprends pas comment un code peut parfaitement fonctionner sur une boite mail ... et pas du tout sur les autres.

Code : Tout sélectionner

$nom = $_POST['nom'];  $expediteur = $_POST['mail'];  $cap = $_POST['cap'];     $to = 'la bonne adresse mail';     $sujet = 'le sujet';     // clé aléatoire de limite     $fontiere = md5(uniqid(microtime(), TRUE));     // Headers     $headers = 'From: '.$nom.' <'.$expediteur.'>'."\n";     $headers .= 'Mime-Version: 1.0'."\n";     $headers .= 'Content-Type: multipart/mixed;boundary='.$fontiere."\n";     $headers .= "\r\n"; // Message // Texte $msg = '--'.$fontiere."\n"; $msg .= 'Content-type:text/plain;charset=utf-8'."\n"; $msg .= 'Content-transfer-encoding:8bit'."\n"; $msg .= '-'."\n\n"; $msg .= 'Message :'."\n\n"; $msg .= '***************************'."\n\n"; $msg .= utf8_decode($mess)."\n\n"; $msg .= '***************************'."\n\n"; $msg .= 'Expediteur : '.$nom.' - '.$expediteur."\n"; $msg .= '***************************'."\n\n"; $msg .= 'ATTENTION : Pièce jointe non vérifiée - Soyez vigilant !'."\n"; // Pièce jointe     if (isset($_FILES['attach'])) {          $tmp_name= $_FILES['attach']['tmp_name'];          $name= $_FILES['attach']['name'];          $size= $_FILES['attach']['size'];          $type= $_FILES['attach']['type'];          $erreur= $_FILES['attach']['error'];          $uploadpath="uppj/";          move_uploaded_file($tmp_name,$uploadpath.$name);         $path = $uploadpath.$name;      $handle = fopen($path, 'rb');     $content = fread($handle, $size);     fclose($handle);     $content = chunk_split(base64_encode($content));     $msg .= '--'.$fontiere."\r\n";     $msg .= 'Content-type:'.$type.';name='.$name."\r\n";     $msg .= 'Content-transfer-encoding:base64'."\r\n";     $msg .= $content."\r\n";} // Fin $msg .= '--'.$fontiere."\r\n"; // Function mail() if ($cap == '5') {mail($to, $sujet, $msg, $headers);}     /* gestion erreur ET suppression PJ stockée temporairement sur serveur */     else {echo '<script>document.location="index.php?p=ok"</script>';}     echo '<script>document.location="index.php?p=no"</script>';   
Merci d'avance