begin process at 2012 05 31 07:10:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Probleme de piéce jointe


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

Probleme de piéce jointe

mardi 19 mai 2009 à 14:13:06 | Probleme de piéce jointe

easynoob

Bonjour à tous,
J'ai un souci avec une fonction d'envoie de mail. Je join une piéce jointe, mais a la réception du mail lors de l'ouverture il m'affiche rien de la piéce jointe d'origine.
Si une personne trouve la solution je suis preneur!!!
Merci de votre aide


Code affichage du formulaire:
<?php
 connexion();
 $result = mysql_query("SELECT * FROM `recrutement` WHERE id_recrutement = '".$_GET['annonce']."'") or die(mysql_error());
 while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
 {
?>

<form enctype="multipart/form-data" action="index.php?page=form_email" method=POST>
<center>
De: <input type=text name = "from" size="30"><br />
<?php echo 'Sujet: <input type=text name = "sujet" value = "'.$row['poste'].'" size="30"><br /><br />'; ?>
Texte :<br /><textarea name="message" rows="15" cols="40"></textarea><br />
Curriculum vitae :<input type=file name="monfichier"><br />
<input type=submit value="envoi">
</center>
</form>
<?php
 }
?>


traitement:
<?php
     //-----------------------------------------------
     //DECLARE LES VARIABLES
     //-----------------------------------------------

  $email_expediteur=$_POST['from']; 
  $email_reply=$_POST['from'];
  $destinataire = 'test@[...].com';
  $file= $_FILES['monfichier']['name'];
  
     //-----------------------------------------------
     //GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
     //-----------------------------------------------

     $frontiere = '-----=' . md5(uniqid(mt_rand()));

     //-----------------------------------------------
     //HEADERS DU MAIL
     //-----------------------------------------------

     $headers = 'From: "Nom" <'.$email_expediteur.'>'."\n";
     $headers .= 'Return-Path: <'.$email_reply.'>'."\n";
     $headers .= 'MIME-Version: 1.0'."\n";
     $headers .= 'Content-Type: multipart/mixed; boundary="'.$frontiere.'"';

     //-----------------------------------------------
     //MESSAGE TEXTE
     //-----------------------------------------------
     $message = 'This is a multi-part message in MIME format.'."\n\n";

     $message .= '--'.$frontiere."\n";
     $message .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n";
     $message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
     $message .= $_POST['message']."\n\n";
     $message .= '--'.$frontiere."\n";
 
     //-----------------------------------------------
     //PIECE JOINTE
  //-----------------------------------------------
 

  $message .= "Content-Type: application/msword; name=\"$file\"\n"; 
  $message .= "Content-Transfer-Encoding: base64\n"; 
  $message .= "Content-Disposition: attachment; filename=\"$file\"\n\n"; 
  
  $fd = fopen( $file, "r" ); 
  $contenu = fread( $fd, filesize( $file ) ); 
  $fp = fopen($file, "rb" ); 
  $buff = fread($fp, filesize($file)); 
  fclose($fp); 
  $message .= chunk_split(base64_encode($buff));
  
  $message .= "\n\n\n------=$frontiere\n";

     if(mail($destinataire,$sujet,$message,$headers))
     {
          echo 'Le mail a été envoyé';
     }
     else
     {
          echo 'Le mail n\'a pu être envoyé';
     }
?>

mardi 19 mai 2009 à 15:02:58 | Re : Probleme de piéce jointe

easynoob

Réponse acceptée !

Probléme trouvé...
Merci a ceux ki l'on lu...
Proble venant du fichier temporaire copier sur le serveur:

solutions:
<?php
     //-----------------------------------------------
     //DECLARE LES VARIABLES
     //-----------------------------------------------

     $email_expediteur=$_POST['from'];
     $email_reply=$_POST['from'];
  $destinataire = 'test@cliexupery.com';
  $file= $_FILES['monfichier']['name'];
  $temp=$_FILES['monfichier']['tmp_name'];
 
     //-----------------------------------------------
     //GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
     //-----------------------------------------------

     $frontiere = '-----=' . md5(uniqid(mt_rand()));

     //-----------------------------------------------
     //HEADERS DU MAIL
     //-----------------------------------------------

     $headers = 'From: "Nom" <'.$email_expediteur.'>'."\n";
     $headers .= 'Return-Path: <'.$email_reply.'>'."\n";
     $headers .= 'MIME-Version: 1.0'."\n";
     $headers .= 'Content-Type: multipart/mixed; boundary="'.$frontiere.'"';

     //-----------------------------------------------
     //MESSAGE TEXTE
     //-----------------------------------------------
     $message = 'This is a multi-part message in MIME format.'."\n\n";

     $message .= '--'.$frontiere."\n";
     $message .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n";
     $message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
     $message .= $_POST['message']."\n\n";
 $message .= '--'.$frontiere."\n";
 
     //-----------------------------------------------
     //PIECE JOINTE
  //-----------------------------------------------
 

  $message .= "Content-Type: application/msword; name=\"$file\"\n"; 
  $message .= "Content-Transfer-Encoding: base64\n"; 
  $message .= "Content-Disposition: attachment; filename=\"$file\"\n\n"; 
  
  $fd = fopen( $temp, "r" ); 
  $contenu = fread( $fd, filesize( $temp ) ); 
  $fp = fopen($temp, "rb" ); 
  $buff = fread($fp, filesize($temp)); 
  fclose($fp); 
  $message .= chunk_split(base64_encode($buff));
  
  $message .= "\n\n\n------=$frontiere\n";

     if(mail($destinataire,$sujet,$message,$headers))
     {
          echo 'Le mail a été envoyé';
     }
     else
     {
          echo 'Le mail n\'a pu être envoyé';
     }
?>



Cette discussion est classée dans : message, mail, file, headers, frontiere


Répondre à ce message

Sujets en rapport avec ce message

mailer une page php [ par micholi ] Bonjour,j'utilise la fonction mail dans une page php pour envoyer un mail.  Voici mon script : $to = "email du destinataire" . ", " ;$subject = "Sujet Envoi d' un mail avec des $variable dans le message [ par blibers ] Slt a tous ;)voila mon pb :je ne trouve pas de solutions pour pouvoir envoyer un message mail avec des variables dans le corp du message !je vous mets envoi mail html avec mail() [ par joebuz ] bonjour,je souhaiterais savoir comment faire pour definir l'expediteur (From),  faire une copie conforme cachée (Cc), et envoyé le tout au format html Probleme de url avec fonction mail() [ par fatitaleb ] Bonjours j  un probleme bizzarrrr avec mail voila j'envoie 4 messages avec une petite boucle je reçoie les messages (outlook) jusqu'au la tous marche BAD HEADER Non-encoded 8-bit data [ par waterw72 ] Bonjour,J'essaye de faire un webmail  mais l'affichage des accents (dans le sujet) ne se passe pas correctement.Cela se produit quand j'envoie un mail php - entete mail et lotus [ par sidf ] bonjour à tousje suis toujours coincé , depuis une semaine,avec un problème d'entête (je suppose)pour envoyer une pièce jointe vers une messagerie lot requete dans une fonction mail en PHP [ par newlc ] Bonjour,voila jutilise une fonction mail pour envoyer un email à une personne seulement j'ai une BDD et je voudrais que selon ce que le visiteur va ta envoi de mail avec mail() [ par Oumbra ] Bonjour, Mon problème est simple : Je veux envoyer un mail après la validation d'un formulaire, tout fonctionne parfaitement sauf que mon serveur n'a Php mail :/ [ par remitete ] Bonjour j'essaye de faire par flash un formulaire de contact! donc j'ai reussi a recup mes variable (verifier grace a echo) j'arrive a envoyer un mail récupérer url [ par anacolut ] bonjour je ne parviens pas à récupérer l'url de ma page courante sur la page dont je souhaite récupérer l'url j'ai indiqué [code] ','formulaire','loc


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,530 sec (4)

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