begin process at 2010 02 10 16:56:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Réseau & Internet

 > 

Autre

 > 

Piece jointe dans mailer


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Piece jointe dans mailer

mardi 5 février 2008 à 16:20:46 | Piece jointe dans mailer

morgan_18

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
mercredi 6 février 2008 à 10:22:48 | Re : Piece jointe dans mailer

morgan_18

up

Allez personne pour me sortir de cette situation

Morgan


Cette discussion est classée dans : file, type, extension, piece, mime


Répondre à ce message

Sujets en rapport avec ce message

pb avec un champ de type file [ par ouiskie ] Salut,j'ai un formulaire, et dedans il y a un chmap de type file, pour aller chercher l'adresse d'une image. Je v chercher l'adresse avec le bouton pa input de type file avec valeur par défaut [ par fabrice_pi ] Salut à tous,Est-ce qu'il y a une façon de donner une valeur par défaut à un champ input de type file ? Dans le cas suivant la valeur du champ value e input type file et récupération de la variable HTTP [ par lineb76 ] Bonjour !J'ai un gros pb pour récupérer ma variable fichier que je passe via un Pour récupérer mes variables je suis obligée de passer par $HTTP_POST_ problème avec les if et les else... [ par sebmayer ] Bonjour,voila j'ai créé un petit programme pour uploader mes images, mais j'ai un petit problème avec mes vérifications de champs (les else et les if. Input type=file astuce !!?? [ par fredo35m ] Bonjour,j'ai sur ma page un Input type=file, qui m'ouvre un explorateur mais je souhaiterais pouvoir ouvrir l'explorateur vers un chemin déterminé. es formulaire + champ de type "File" [ par ironnyc ] Salut a tous!!j ai un petit prob avec mon formulaire pour faire un upload.Dans mon ficher "Formulaire.htm"j utilise un champ de type "File" (avec encr formulaire "type=file" [ par toxyko_974 ] je voudrais savoir comment fonctionne le formulaire en type=file car en fait je voudrais envoyer un fichier en FTP mais à partir d'un site. La partie type="file" [ par floceam ] Bonjour, j'ai un petit probleme pas difficile a mon avis mais je trouve pas comment faire?Quand je rappelle de infos de la base pour modifier un formu problème - Envoi de mail avec fichier en PHP [ par FalconDark ] Bonjour. Je suis sur OVH (pour situer l'environnement) Dans le même dossier j'ai : <BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px comment insérer une pièce jointe dans l'envoi d'un mail ? [ par arnold002 ] Bonjour à tous,J'utilise un formulaire sur ma page form.php. Les données sont transmises à ma 2ème page mail.php, qui contient le script d'envoi d'ema


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales