Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1931 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  fichier joint dans email mal transmis

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

fichier joint dans email mal transmis

n°1006875
benamoubea​ch
tivuplai
Posté le 09-03-2005 à 14:39:56  profilanswer
 

Hello les gens voila mon probleme est tres simple, j'ai fait cette class mail en cours rapidos . Quand j'envoie un mail sans pieces jointes, ca marche. Quand j'envoie un mail avec une ou plusieurs pieces jointes, le problème est que les fichiers sont splités bizarrement et donc ils ne peuvent pas être lu car pas transmis en intégrité. Si qqn d'assez calé niveau headers pouvait m'aider, ca srai cool pcke ca msoule jvoi pa trop le pb en fait
 
 

Code :
  1. <?php
  2. /* Photomatik  
  3. *  
  4. * Auteurs:        Benjamin SLAKMON - benjamin@slakmon.net  
  5. *                FAY Matthieu - matttyeux1902@wanadoo.fr  
  6. * Création : 23/02/2005  
  7. * Dernière mise à jour : 24/02/2005  
  8. *  
  9. * Classe Mail :  
  10. * Permet d'envoyer un mail, à des étudiants ou à des groupes  
  11. * avec ou sans pièces jointes.  
  12. */
  13. class Mail
  14. {
  15.     var $subject;
  16.     var $message;
  17.     var $headers;
  18.     var $from;
  19.     var $to;
  20.     var $boundary;
  21.     /* constructeur vide pcke jte fais les fesses */
  22.     function Mail($subject,$message,$from,$type='plain')
  23.     {
  24.         $this->boundary = "-----=".md5(uniqid(rand()));
  25.         $this->subject = $subject;
  26.         $this->from = $from;
  27.         $this->to = array();
  28.         $this->add_message("--$this->boundary\n" );
  29.         $this->add_header("MIME-Version: 1.0\n" );
  30.         $this->add_header("Content-Type: multipart/mixed; boundary=\"$this->boundary\"\n" );
  31.         $this->add_message("Content-Type: text/$type; charset=\"iso-8859-1\"\n" );
  32.         $this->add_message("Content-Transfer-Encoding:8bit\n" );
  33.         $this->add_message("\n" );
  34.         $this->add_message($message);
  35.     }
  36.     function add_header($header)
  37.     {
  38.         $this->headers .= $header;
  39.     }
  40.     function add_message($message)
  41.     {
  42.         $this->message .= $message;
  43.     }
  44.    
  45.    
  46.     function add_destinataire($mail)
  47.     {
  48.         if(!is_array($mail))
  49.         {
  50.             if(!in_array($mail,$this->to))
  51.             {
  52.                 $this->to[] = $mail;
  53.             }
  54.         }
  55.         else
  56.         {
  57.             foreach($mail as $key => $value)
  58.             {
  59.                 if(!in_array($value,$this->to))
  60.                 {
  61.                     $this->to[] = $value;
  62.                 }
  63.             }
  64.         }
  65.     }
  66.    
  67.     function add_file($file)
  68.     {
  69.         $fp = fopen($_FILES[$file]['tmp_name'], "rb" );
  70.         $attachment = fread($fp, filesize($_FILES[$file]['tmp_name']));
  71.         fclose($fp);
  72.         $attachment = chunk_split(base64_encode($attachment));
  73.         $filename = $_FILES[$file]['name'];
  74.         $type = $_FILES[$file]['type'];
  75.         $this->add_message("\n--$this->boundary\n" );
  76.         $this->add_message("Content-Transfer-Encoding: base64\n" );
  77.         $this->add_message("Content-Disposition: attachment; filename=\"$filename\"\n" );
  78.         $this->add_message('Content-Type: '.$type.'; name="'.$filename.'"'."\n" );
  79.         $this->add_message($attachment."\n\n\n" );
  80.         //$this->message = "--$this->boundary\n";  
  81.     }
  82.     /* envoi le mail */
  83.     function print_send_mail()
  84.     {
  85.         $bcc = implode(",",$this->to);
  86.         $this->add_header("BCC: $bcc \n" );
  87.         $this->add_header("\nFrom: $this->from \n" );
  88.         if(mail("",$this->subject,$this->message,$this->headers))
  89.         {
  90.             echo "mail bien envoyé";   
  91.         }
  92.         else
  93.         {
  94.             echo "mail foiré";
  95.         }
  96.     }
  97. }
  98. ?>

mood
Publicité
Posté le 09-03-2005 à 14:39:56  profilanswer
 

n°1009642
benamoubea​ch
tivuplai
Posté le 11-03-2005 à 13:34:30  profilanswer
 

ya personne capable de m'aider ???

n°1009728
soju
One shot !
Posté le 11-03-2005 à 14:03:40  profilanswer
 

benamoubeach a écrit :

ya personne capable de m'aider ???


met nous le contenu d'un mail 'foiré', on a pas le temps de tester ta classe

n°1010172
benamoubea​ch
tivuplai
Posté le 11-03-2005 à 19:42:50  profilanswer
 

jcomprend rien  
 
sur mon autre pc sous Easyphp 1.7 ( :sweat: ) ca foirait et la sous wamp5 sur mon autre pc , ca tourne au poil
 
merci kan meme soju donc la classe est bonne youhou
 
 
ptet ke c le passage de php4 a php5 ki a fait ca

n°1010182
prblsouris
Posté le 11-03-2005 à 20:14:06  profilanswer
 

t'as l'intention de réinventer la roue avec ta class ? parceque ce genre de trucs existent en version stable depuis longtemps...


---------------
http://www.hardware404.com L'actualité hardware francophone en continu
n°1010201
benamoubea​ch
tivuplai
Posté le 11-03-2005 à 21:02:59  profilanswer
 

oui mais bon si toi ca t'amuses de recopier des trucs deja fait et de ne jamais évoluer c'est ton probleme . C'est sur je peux tre bien copier une classe mail, une class mysql et meme carrément prendre phpbb et phpnuke comme ca j'aurais un site et bah besoin de programmer et jpourrais faire genre je suis trop une bete en mettant mon nom dans le footer . Ya aussi une autre catégorie de personnes qui préfèrent etre aidées pour réussir quelque chose plutot que de pomper sur tout le monde et faire croire qu'ils ont tout fait tout seul . Maintenant si toi tu kiff aller sur php scripts, c ton probleme ca n'engage que toi j'irais pas te faire un procès mais je dis juste que moi je préfère programmer moi meme mes  scripts php, au moins je comprend ce que je fais et quand je modifie ou j'améliore, je sais ou modifier et quoi faire. T'as qu'a dire aux mecs qui apprennent le php "faites pas ce script ya deja des mecs qui l'ont fait avec 10 lignes alors que vous le faites en 150 lignes vous servez a rien".Je me considere encore en phase d'apprentissage du php étant donné que je ne code que depuis 1an et demi donc je te prierai de ne pas juger mon travail si tu ne connais pas la réponse. Au passage, on t'a jamais dit que l'amabilité ca fonctionnait aussi sur les forums et que c'est pas en étant désagréable que tu passeras pour le dieu vivant du code en faisant semblant de tout savoir sur tout.


Message édité par benamoubeach le 11-03-2005 à 21:05:02
n°1010229
prblsouris
Posté le 11-03-2005 à 22:37:46  profilanswer
 

Dans ce cas commence par virer wamp5 et install sur une partition de ton deuxième PC avec une Debian,Apache,PHP,MySQL,PhpMyadmin.
Comme ça tu bossera sur un environement "propre".
Parceque là ton problème est apparu en changant de machin/pack sous Windows ce qui devrai t'inquièté.
Ton projet doit être installé sur quel type de machine à terme ?
 
PS : je sais que ça t'énerve  :D mais si d'autre personnes que toi tombent sur ton topic à la recherche d'une solution pour envoyer des fichiers liés par mail etc en PHP : http://phpmailer.sourceforge.net/


Message édité par prblsouris le 11-03-2005 à 22:40:29

---------------
http://www.hardware404.com L'actualité hardware francophone en continu
n°1010295
benamoubea​ch
tivuplai
Posté le 11-03-2005 à 23:19:07  profilanswer
 

debian ca msoul de tout configurer, sinon sous windows javai dja pris apache/php/mysql/phpmyadmin mais apres format la flemme. Mon projet sera installé sur des pc itinérants en fait ca changera en fonction du pc.
 
Non ca m'énerve pas si tu donnes une url, jvoyai juste pas lintéret de me critiquer c tout

n°1010331
Profil sup​primé
Posté le 11-03-2005 à 23:43:38  answer
 

ta classe marchera pas si t'as pas ou mal défini les parametres d'envoi de mail dans ton php.ini ou via ini_set ;)


Message édité par Profil supprimé le 11-03-2005 à 23:44:01
n°1010536
benamoubea​ch
tivuplai
Posté le 12-03-2005 à 12:35:38  profilanswer
 

ouep mais ca c bon :) merci bien


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  fichier joint dans email mal transmis

 

Sujets relatifs
pb d'écriture récursive dans un fichierLecture fichier XML
copie contenu d'un fichier dans un tamponSupprimer Un élément dans un fichier xml avec QT
[C#/PPT] Ouverture d'un fichier PPT et accès aux variablesupload fichier impossible, fichier non trouvé
Lecture d'un fichier et copie dans un buffer, ultra lent ! [Resolu]pb chemin d'accès à un fichier
[VB]Manip fichier Excel+chemin depuis VB[java][Resolu] Probleme lecture de fichier
Plus de sujets relatifs à : fichier joint dans email mal transmis


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR