pb sur envoi de 2 PJ via fonction mail

Invité
Invité n'ayant pas de compte PHPfrance

19 janv. 2007, 10:35

Salut a tous,

Sur un formulaire je permets a l'internaute d'envoyer sur cv et sa lettre de motivation et j'ai mis en place un script pour envoyer par mail ces documents mais le pb c'est que je recoit les fichiers en version txt du style AT0012.txt bizarre ??

Ci dessous mon code
//Piece joint 
$fichier1 = $_FILES['lm']['name']; 
$source1=$_FILES['lm']['tmp_name'];
move_uploaded_file($source1, $fichier1); 

$fichier2 = $_FILES['cv']['name']; 
$source2=$_FILES['cv']['tmp_name'];
move_uploaded_file($source2, $fichier2); 


//$filename et $nom sont des tableaux qui contiennent chemin + nom de X pièces jointes : 

$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 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 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 .= "\n*** Resultat du formulaire ***\n";

 if(count($HTTP_POST_VARS)){
    while (list($key, $val) = each($HTTP_POST_VARS)){
    $texte .="$key : $val\n";
    }  
 }

 if(count($HTTP_GET_VARS)){
    while (list($key, $val) = each($HTTP_GET_VARS)){
    $texte .="$key : $val\n";
    }  
 }
$texte .= "\n\n"; 

$filename= array($fichier1,$fichier2); 

for ($i=0;$i<count($filename);$i++) 
{ 
$attachement .= "------=".$limite."\n"; 
$attachement .= "Content-Type: ".$typemime."; name=\"".$filename[$i]."\"\r\n"; 
$attachement .= "Content-Transfer-Encoding: base64\r\n"; 
$attachement .= "Content-Disposition: inline; filename=\"".$filename[$i]."\"\r\n"; 
$fd = fopen($filename[$i], "rb" ); 
$contenu = fread($fd, filesize($filename[$i])); 
fclose( $fd ); 
$attachement .= chunk_split(base64_encode($contenu)); 
$attachement .= "\r\n\r\n"; 
} 

$sujet = "Prise de contact sur le site ";
$destinataire = "[email protected]";
$expediteur   = $_POST['email'];
$reponse = $expediteur;
Merci pour votre aide

Eléphant du PHP | 138 Messages

19 janv. 2007, 10:36

J'ai oublie la ligne qui envoi le mail
mail($destinataire, $sujet, $texte.$attachement, "Reply-to: $expediteur\nFrom:$reponse\n".$mail_mime);