Page 1 sur 1

fonction mail()

Posté : 28 mai 2010, 20:01
par xtrem1
Bonjour,

j'ai récupéré une fonction mail() afin de pouvoir envoyer des mail avec piece jointe directement depuis mon serveur.

Le code fonctionne parfaitement lorsque j'envoi des fichiers texts car on attribue text/plain à la variable mime:
$mimeType = 'text/plain';

Mais je ne souhaite pas envoyer seulement des fichiers texte, lorsque j'envoi une photo, le code fu fichier jpg apparait sous forme de code.

J'aimerais aussi pouvoir envoyer des exécutables, alors j'ai testé avec $mimeType = 'application/octet-stream'; mais ca n'a pas marché...

D'autre part, le texte que je rentre dans la variable texte n'est pas recu par le destinataire.

N' existe t'il pas une solution pour ne pas avoir à préciser à chaque fois le type de fichier envoyé?


voici le code:
<?php
 
function mail_attachement($to , $bcc , $sujet , $message , $fichier , $typemime , $nom , $reply , $from){
 
 $limite = "_parties_".md5(uniqid (rand()));
 
 $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 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\nBcc: $bcc\n".$mail_mime);
 }
 
?>


<?php
 
 $adresse_exp  = '[email protected]';
 $adresse_dest = '[email protected]';
 $adresse_dest2 = '[email protected]';
 $sujet = 'email';
 $texte = "cette zone de texte n'est pas recu par le destinataire";
 $cheminfichier = 'image.jpg;
 $nomfichier = image.jpg';
$mimeType = 'text/plain';
 $replyto = ""; // peut être nul
 
mail_attachement($adresse_dest, $adresse_dest2, $sujet , $texte , $cheminfichier , $mimeType , $nomfichier  , $replyto , $adresse_exp);
 
?>
Dans l'attente, cordialement

Re: fonction mail()

Posté : 28 mai 2010, 20:16
par AB
Y'a quelque chose d'intéressant ici http://www.vulgarisation-informatique.c ... ece_jointe

Re: fonction mail()

Posté : 28 mai 2010, 20:28
par xtrem1
merci de ta réponse, dans ce code, la personne envoi des fichiers jpg, il a donc utilisé Content-Type: image/jpeg;
Mais moi je voudrais que ce soit quelque chose de général pour ne pas avoir à modifier cela à chaque fois que j'envoi un fichier différent, d'ailleurs pour un exe, application/octet-stream ne marche sur mon ordinateur.

merci

Re: fonction mail()

Posté : 29 mai 2010, 11:47
par xtrem1
quelqu'un pourrait il m'aider svp?

Re: fonction mail()

Posté : 29 mai 2010, 15:27
par stopher
Utilise un lib faite pour ça ....

Ne réinventes pas la roue ...

My favorite : Rmail