[PHP] mail avec pieces jointes ! probleme avec Lotus Notes [RESOLUT]

mail avec pieces jointes ! probleme avec Lotus Notes [RESOLUT] [PHP] - PHP - Programmation

Marsh Posté le 03-02-2006 à 09:08:01    

bonjour tout le monde !
 
je dois envoyer plusieurs fichier HTML en PHP, je me suis donc appuyé sur le script proposé sur se tuto
http://forum.hardware.fr/forum2.ph [...] 1#t1029520
je l'ai bidouillé pour qu'il colle avec ce que j'ai fait, je recois bien les mails avec la bonne taille mais les pieces jointes sont transformées en code bizard  
voici a quoi cela ressemble  
 
 
Content-Type: multipart/mixed; boundary=""
 
Message-Id: <20060203081302.8731ED6CC6@mail-srv.ahfc.org>
Date: Fri,  3 Feb 2006 09:13:02 +0100 (CET)
 
Je vous informe que ceci est un message au format MIME 1.0.
--
Content-Type: ; charset="iso-8859-1"
 
Content-Transfer-Encoding: quoted-printable
 
=0D
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DVOTRE MESSAGE=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D
yo test=0D
--
 
Content-Type: htm;  
name="81503022006.html"
 
Content-Transfer-Encoding: base64
 
Content-Disposition: inline;
 
 filename="81503022006.html"
 
 
CjxodG1sPgo8aGVhZD4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0
ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMSI+Cjx0aXRsZT5Db21tYW5kZSByZXBhczwvdGl0
bGU+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CjwhLS0KLnRhYl90aXRyZSB7CgoJZm9udC1mYW1p
ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMSI+Cjx0aXRsZT5Db21tYW5kZSByZXBhczwvdGl0
bGU+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CjwhLS0KLnRhYl90aXRyZSB7CgoJZm9udC1mYW1p
.......... etc ....

 
et voici mon code :

$date=$_GET[date];
$date='08/02/2006';
 
 
$reqsource = "SELECT FICGENERER FROM `BURST` WHERE DAY = '$date' AND VALIDE = 'OK' AND FICGENERER != '' ";
$bdd->setQuery($reqsource);
$arrNameFile = $bdd->executeQuery();
 
$message='yo test';
 
$destinataire='mims1664@yyyy.fr';
$from='mims1664@yyyy.fr';
$sujet = 'Test mail';
$msg = 'fichier du ';
$msg .= $date;
$contentype = 'htm';
 
 
 $header = "MIME-Version: 1.0\r\n";
 $header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
 $header .= "\r\n";
 $msg = "Je vous informe que ceci est un message au format MIME 1.0.\r\n";    
 $msg .= "--$boundary\r\n";    
 $msg .= "Content-Type: $type; charset=\"iso-8859-1\"\r\n";    
 $msg .= "Content-Transfer-Encoding:8bit\r\n";  
 $msg .= "\r\n";  
 $msg .="===================VOTRE MESSAGE===================\r\n";  
 $msg .= $message;  
 $msg .= "\r\n";    
 for($i=0;$i<sizeof($arrNameFile);$i++){
    $file = $arrNameFile[$i][0];
 echo "<br><br><br>nom du fichier :".$file."";  
 
 chmod ($file, 777);
 
 $tab = explode("/",$file);
 $nb = count($tab);  
 $name = $tab[$nb-1];
 echo "<br><br><br>nom du fichier :".$name."";  
 
     $fp = fopen($file, 'rb');    
  $attachment = fread($fp, filesize($file));    
  fclose($fp);    
  $attachment = chunk_split(base64_encode($attachment));      
  $msg .= "--$boundary\r\n";    
  $msg .= "Content-Type: ".$contentype."; \r";    
  $msg .= "name=\"".$name."\"\r\n";    
  $msg .= "Content-Transfer-Encoding: base64\r\n";    
  $msg .= "Content-Disposition: inline;\r\n filename=\"".$name."\"\r\n";    
  $msg .= $attachment . "\r\n";    
  $msg .= "\r\n";    
  $msg .= "\r\n\r\n";    
//  unlink($file);  
  }  
  $msg .= "--$boundary--\r\n";  
  if(mail($destinataire, $sujet , $msg,"Reply-to: $reponse\r\nFrom: $from\r\n".$header)){    
   echo "OK";  
  }else{    
   echo "ERREUR";  
   }


Message édité par mims1664 le 06-02-2006 à 15:27:02
Reply

Marsh Posté le 03-02-2006 à 09:08:01   

Reply

Marsh Posté le 03-02-2006 à 09:10:29    

j'ai oublié de vous dire mon client de messagerie est Lotus Notes 6.5!

Reply

Marsh Posté le 03-02-2006 à 09:56:27    

up

Reply

Marsh Posté le 03-02-2006 à 10:07:05    

upppla

Reply

Marsh Posté le 03-02-2006 à 10:27:00    

see you plai

Reply

Marsh Posté le 03-02-2006 à 10:40:17    

"Un homme présséééé ...."
4 up en un peu plus d'une heure? fait gaffe à toi, il est indiqué dans la régle qu'on peut être sanctionner si on abuse de ça. Surtout que ca te fait gagner quoi? 2 place dans la soussection php? C'est sur, c'est de l'utile tout ça.
 
"Content-Type: ;" n'est pas un type valide de contenu  
"Content-Type: htm;" idem
 
Si tu veux que le lecteur de mail reconaisse le type de contenu il faut lui indiquer des données valides et dans un mail, le content-type est le type mime du contenu de la section du mail. A toi d'indiquer le bon et d'indiquer à chaque fois un vrai type mime et pas un truc tout faux.


Message édité par omega2 le 03-02-2006 à 10:40:48
Reply

Marsh Posté le 03-02-2006 à 11:04:13    

Ha ok merci pour l'info donc c'est bien ce qu'il me semblais c'est le type mine !  
je n'ai rien trouvé sur le net pour les fichier html je me suis donc envoyer un mail avec un fichier jolint et j'ai regardé, j'ai pu voir que c'etait text/html, j'ai essayer mais c'est toujours pareil ....  
 
 
ps : ouais je me suis pas rendu compte pr les up dsl tout le monde

Reply

Marsh Posté le 03-02-2006 à 11:10:16    

vooici ce  que j'ai changé  
 
$date=$_GET[date];  
$date='08/02/2006';  
 
 
$reqsource = "SELECT FICGENERER FROM `BURST` WHERE DAY = '$date' AND VALIDE = 'OK' AND FICGENERER != '' ";  
$bdd->setQuery($reqsource);  
$arrNameFile = $bdd->executeQuery();  
 
$message='yo test';  
 
$destinataire='mims1664@yyyy.fr';  
$from='mims1664@yyyy.fr';  
$sujet = 'Test mail';  
$msg = 'fichier du ';  
$msg .= $date;  
$contentype = 'text/html';
 
 
 $header = "MIME-Version: 1.0\r\n";  
 $header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";  
 $header .= "\r\n";  
 $msg = "Je vous informe que ceci est un message au format MIME 1.0.\r\n";    
 $msg .= "--$boundary\r\n";    
 $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";    
 $msg .= "Content-Transfer-Encoding:8bit\r\n";    
 $msg .= "\r\n";    
 $msg .="===================VOTRE MESSAGE===================\r\n";    
 $msg .= $message;    
 $msg .= "\r\n";    
 for($i=0;$i<sizeof($arrNameFile);$i++){  
    $file = $arrNameFile[$i][0];  
 echo "<br><br><br>nom du fichier :".$file."";  
 
 chmod ($file, 777);  
 
 $tab = explode("/",$file);  
 $nb = count($tab);  
 $name = $tab[$nb-1];  
 echo "<br><br><br>nom du fichier :".$name."";  
 
     $fp = fopen($file, 'rb');      
  $attachment = fread($fp, filesize($file));      
  fclose($fp);    
  $attachment = chunk_split(base64_encode($attachment));      
  $msg .= "--$boundary\r\n";      
  $msg .= "Content-Type: ".$contentype."; \r";      
  $msg .= "name=\"".$name."\"\r\n";      
  $msg .= "Content-Transfer-Encoding: base64\r\n";      
  $msg .= "Content-Disposition: inline;\r\n filename=\"".$name."\"\r\n";      
  $msg .= $attachment . "\r\n";      
  $msg .= "\r\n";      
  $msg .= "\r\n\r\n";      
//  unlink($file);  
  }    
  $msg .= "--$boundary--\r\n";    
  if(mail($destinataire, $sujet , $msg,"Reply-to: $reponse\r\nFrom: $from\r\n".$header)){      
   echo "OK";    
  }else{      
   echo "ERREUR";    
   }

 
sur un webmail je recois tout nikel ! mais vraiment nikel !
alors que sur Lotus Notes que dalle ...

Reply

Marsh Posté le 03-02-2006 à 14:28:44    

Alors j'ai afficher le code d'un mail de Lotus avec une piece rataché qui fonctionne et je l'ai transcrit dans mon code PHP en priant que ca fonctionne mais malheureusement non .....

Reply

Marsh Posté le 03-02-2006 à 16:02:38    

upppla

Reply

Marsh Posté le 03-02-2006 à 16:02:38   

Reply

Marsh Posté le 03-02-2006 à 16:14:56    

Le suite Lundi ....
 
bon weekend a tous !

Reply

Marsh Posté le 06-02-2006 à 08:47:29    

bonjour !! me revoila toujours dans la galere .....


Message édité par mims1664 le 06-02-2006 à 08:58:30
Reply

Marsh Posté le 06-02-2006 à 11:48:37    

up

Reply

Marsh Posté le 06-02-2006 à 15:26:37    

Reply

Marsh Posté le 05-02-2009 à 15:33:15    

Je sais que j'arrive 3 ans en retard mais j'ai moi même galéré sur ça pandant un petit moment avant de trouvé la solution.
 
Donc si ça peut aider quelqu'un d'autre, il semblerait que le client mail de Lotus ne gère pas les \r
Il faut uniquement utiliser les \n

Reply

Sujets relatifs:

Leave a Replay

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