Problème d'ouverture de pièce jointe

Problème d'ouverture de pièce jointe - PHP - Programmation

Marsh Posté le 26-05-2010 à 15:54:45    

Bonjour à Tous,
En préambule, je n'y connais pas grand-chose en PHP, il faut bien l'avouer, mais notre développeur "maison" est parti, et il faudrait pourtant que j'arrive à faire marcher ce script !! Je n'y connais donc pas grand-chose en PHP, mais j'ai pourtant adoré réparer ou modifier ( tout seul ! ) quelques lignes de scripts, au fil des mois, et c'est vraiment magique quand les choses se remettent en ordre...
Concernant ce problème, j'ai beaucoup cherché et  tenté beaucoup de modifs, mais je n'y arrive pas. Cela doit n'être pourtant qu'une p'tite "pétouille". Arghh, je ne comprends pas suffisamment ce que je fais.  
 
Donc...
Sur notre site, un script s'occupe de l'envoi de mails avec pièces jointes au format xls. Ça fonctionne bien, à la nuance près qu'à l'ouverture de la pièce jointe, on a droit à un beau message d'erreur "Le format du fichier....est différent de celui spécifié par l'extension de fichier...".
Pas bien grave donc ( la pièce jointe s'ouvre quand même sans aucun souci) , SAUF que ces mails doivent maintenant être utilisés pour l'envoi de fax via l'Ecofax d'OVH. Et que celui-ci ne reconnait pas l'extension du fichier, et donc pas de fax ( on en a une centaine par jour, caisse qu'on économiserais comme temps !).
 
Le script ( tout au moins les parties qui doivent poser problème):

Code :
  1. //on prepare le texte pour le mail :
  2. $phrase = "Ce mail est au format MIME 1.0 multipart/mixed.\n";
  3. $phrase = $phrase . "--$delimiteur\n";
  4. $phrase = $phrase . "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
  5. $phrase = $phrase . "Content-Transfer-Encoding:8bit\n";
  6. $phrase = $phrase . "\n";
  7. $phrase = $phrase . " Ce mail contient la notification en pièce jointe au format Excel\n";
  8. $phrase = $phrase . "\n";
  9. //on lit le fichier image pour l'encoder :
  10. $fp          = fopen($img, "rb" );
  11. $img_attache = fread($fp, filesize($img));
  12. fclose($fp);
  13. /*
  14. //on encode l'image
  15. $img_attache = chunk_split(base64_encode($img_attache));
  16.  
  17. //on insert l'image dans le fichier
  18. $phrase = $phrase . "--$delimiteur\n";
  19. $phrase = $phrase . "Content-Type: application/octet-stream; name=\"$img\"\n";
  20. $phrase = $phrase . "Content-Transfer-Encoding: base64\n";
  21. $phrase = $phrase . "Content-ID: <image1>\n";
  22. $phrase = $phrase . "\n";
  23. $phrase = $phrase . $img_attache . "\n";
  24. $phrase = $phrase . "\n\n";
  25. $phrase = $phrase . "--$delimiteur\n";
  26. */


Code :
  1. $fichier = $fichier . "</div>
  2. </BODY>
  3. </HTML>\r\n";
  4. $fichier = $fichier . "\n";
  5. $nom     = $database_date . "_notification.xls";
  6. //on encode le fichier
  7. $fichier = chunk_split(base64_encode($fichier));
  8. //on insert le fichier
  9. $phrase = $phrase . "--$delimiteur\n";
  10. $phrase = $phrase . "Content-Type: application/vnd.ms-excel; name=\"$nom\"\n";
  11. $phrase = $phrase . "Content-Transfer-Encoding: base64\n";
  12. $phrase = $phrase . "Content-Disposition: attachment; filename=\"$nom\"\n";
  13. $phrase = $phrase . "\n";
  14. $phrase = $phrase . $fichier . "\n";
  15. $phrase = $phrase . "\n\n";
  16. $phrase = $phrase . "--$delimiteur\n";
  17. return $phrase;
  18. }
  19. //*****************************************************************************************
  20. ?>


 
Voilà ! Ca m'énerve, mais j'ai tout passé à la moulinette et je ne trouve pas.
Si une bonne âme avais la gentillesse de jeter un coup d'œil (quitte à me ridiculiser, hein!, pas de problème -) ),  ca serait gentil de sa part .
 
Merci d'avance, et Cordiales Salutations à tous.

Reply

Marsh Posté le 26-05-2010 à 15:54:45   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed