Piece jointe dans mailer

morgan_18 Messages postés 8 Date d'inscription mardi 29 mai 2007 Statut Membre Dernière intervention 7 février 2008 - 5 févr. 2008 à 16:20
morgan_18 Messages postés 8 Date d'inscription mardi 29 mai 2007 Statut Membre Dernière intervention 7 février 2008 - 6 févr. 2008 à 10:22
Salut j'ai creer un mailler avec une piece jointe j'ai donc un formulaire avec diverse information nom, prenom, .... et une piece jointe...

J'ai un soucis pour l'envoi de ma piece jointes en effet je recupere bien le nom de la piece son extension et son type MIME. mais le soucis est qu'a la reception de mon mail je recoit un piece jointe avec le bon nom et format mais ma piece fait 4 octet je pense que le souci ce situe au niveau de ma fonction mail_attachement()

Je pense que je recupere mal le fichier sur le client

je vous met mes trois fonctions

si vous avez des idées je suis prenneur

<?php

$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$ville=$_POST['ville'];
$cp=$_POST['cp'];
$mail=$_POST['mail'];
$objet=$_POST['objet'];
$message=$_POST['message'];
$telephone=$_POST['telephone'];
$raison_sociale=$_POST['raison_sociale'];
$piece_jointe=$_POST['piece_jointe'];

$type = file_type($piece_jointe);
$nom_piece = file_name($piece_jointe);
$typemime_piece = type_mime($type);

$destinataire="xxx@yyyy.com";

   //// On Formatte les données du mailpour suivre la norme RFC 2045:
$body = "Mail envoyer par " . $nom . " ". $prenom . "\r\n\n" .
                  "Telephone :" . $telephone . "   Raison sociale :" . $raison_sociale . "\r\n\n" .
                   "Ville :" . $ville . "  Code Postal :" . $cp    . "\r\n\n" .
              "Message :" . $message;

// fonction mail atacher
function mail_attachement($to , $sujet , $message , $fichier , $typemime , $nom , $reply , $from){
     $limite = "_parties_".md5(uniqid (rand()));

         //definition du type mime du mail
     $mail_mime = "Date: ".date("l j F Y, G:i")."\n";
     $mail_mime .= "MIME-Version: 1.0\n";
     $mail_mime .= "Content-Type: multipart/mixed;\n";
     $mail_mime .= " boundary="----=$limite"\n\n";

     //Le message en texte simple pour les navigateurs qui n'acceptent pas le HTML
     $texte = "This is a multi-part message in MIME format.\n";
     $texte .= "Ceci est un message est au format MIME.\n";
     $texte .= "------=$limite\n";
     $texte .= "Content-Type: text/plain; charset="iso-8859-1"\n";
     $texte .= "Content-Transfer-Encoding: 7bit\n\n";
     $texte .= $message;
     $texte .= "\n\n";

     //le fichier
     $attachement = "------=$limite\n";
     $attachement .= "Content-Type: $typemime; name=$nom\n";
     $attachement .= "Content-Transfer-Encoding: base64\n";
     $attachement .= "Content-Disposition: attachment; filename=$nom\n\n";

     $fd = fopen( $fichier, "r" );
     $contenu = fread( $fd, filesize( $fichier ) );
     fclose( $fd );
     $attachement .= chunk_split(base64_encode($contenu));

     $attachement .= "\n\n\n------=$limite\n";
     return mail($to, $sujet, $texte.$attachement, "Reply-to: $reply\nFrom:
     $from\n".$mail_mime);
}

function file_type($file)  {

           //fonction qui recupere l'extention d'un fichier
     $file=basename($file);
     if(eregi(".",$file))  {
     $file_extension_tab=explode(".",$file);
     $file_extension=$file_extension_tab[count($file_extension_tab)-1];
     $file_extension=strtolower($file_extension);
     return $file_extension;
     }
     else
     {
     return "NULL";
     }
}

function file_name($file)  {
          // fonction qui recupere le nom du fichier
     $file=basename($file);
     if(eregi(".",$file))  {
     $file_extension_tab=explode("\",$file);
         $file_extension .=$file_extension_tab[count($file_extension_tab)-1];
     $file_extension=strtolower($file_extension);
     return $file_extension;
     }
     else
     {
     return "NULL";
     }
}

function type_mime($extension){
     // fonction qui fait la correspondance entre extention et type mime
    if ($extension == "doc") {
        $type_mime = "application/msword";
    }
    elseif ($extension == "pdf") {
         $type_mime = "application/pdf";
    }
    elseif ($extension == "xls") {
         $type_mime = "application/vnd.ms-excel";
    }
    elseif ($extension == "ppt") {
         $type_mime = "application/vnd.ms-powerpoint";
    }
    elseif ($extension == "man") {
         $type_mime = "application/zip";
    }    elseif ($extension "mpg" || $extension "mp3") {
         $type_mime = "audio/mpeg";
    }    elseif ($extension "jpg" || $extension "jpeg" || $extension == "jpe") {
         $type_mime = "image/jpeg";
    }
    elseif ($extension == "png") {
         $type_mime = "image/png";
    }    elseif ($extension "tiff" || $extension "tif") {
         $type_mime = "image/tiff";
    }
    elseif ($extension == "zip") {
         $type_mime = "multipart/x-zip";
    }    elseif ($extension "htm" || $extension "html") {
         $type_mime = "text/html";
    }
    elseif ($extension == "txt") {
         $type_mime = "text/plain";
    }
    return $type_mime;
}
?>

Morgan

1 réponse

morgan_18 Messages postés 8 Date d'inscription mardi 29 mai 2007 Statut Membre Dernière intervention 7 février 2008
6 févr. 2008 à 10:22
up

Allez personne pour me sortir de cette situation

Morgan
0
Rejoignez-nous