mail : confusion entre le header et le body

mail : confusion entre le header et le body - PHP - Programmation

Marsh Posté le 29-11-2005 à 16:45:05    

Ne m'envoyez pas sur php.net ou sur les RFC des headers mail... c fait ! :)  
Il y a juste un probleme a l'affichage  :o  
 
Voici la source du mail une fois envoyé :


//J'ai enleve le debut
To: root root <xxxxx@gmail.com>
Subject: envoi d\'un fichier html en PJ
From: moi <yyyyy@club-internet.fr>
Date: Tue, 29 Nov 2005 16:41:47 +0100
 
MIME-Version: 1.0
 
Message-Id: <20051129154147.8F5DF14647@60gp.ovh.net>
 
This text is hidden
 
Content-Type: multipart/mixed; boundary="f6d8149a4e072f0e229c78a43d174fa0"
 
 
 
 
 
--f6d8149a4e072f0e229c78a43d174fa0
 
Content-Type: text/html; charset=ISO-8859-1
 
Content-Transfer-Encoding: 8bit
 
Voici le fichier joint
 
--f6d8149a4e072f0e229c78a43d174fa0
 
--f6d8149a4e072f0e229c78a43d174fa0
 
Content-Type: text/html; name="index.htm"
 
Content-Transfer-Encoding: base64
 
Content-Disposition: attachment
 
 
 
PGh0bWw+DQoNCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1MYW5ndWFnZSIgY29u
 
dGVudD0iZnIiPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0
 
L2h0bWw7IGNoYXJzZXQ9d2luZG93cy0xMjUyIj4NCjx0aXRsZT5sZW1hbmNoZWMuY29tPC90aXRs
 
ZT4NCjwvaGVhZD4NCg0KPGJvZHk+DQoNCjxwPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjIi
 
PmxlbWFuY2hlYy5jb208L2ZvbnQ+PC9wPg0KDQo8L2JvZHk+DQoNCjwvaHRtbD4NCgk=
 
 
 
 
--f6d8149a4e072f0e229c78a43d174fa0
 
 
 


 
Et le resultat (Webmail Gmail), dc la vue utilsateur.....


MIME-Version: 1.0
 
Message-Id: <20051129154147.8F5DF14647@60gp.ovh.net>
 
This text is hidden
 
Content-Type: multipart/mixed; boundary="f6d8149a4e072f0e229c78a43d174fa0"
 
 
 
 
 
--f6d8149a4e072f0e229c78a43d174fa0
 
Content-Type: text/html; charset=ISO-8859-1
 
Content-Transfer-Encoding: 8bit
 
Voici le fichier joint
 
--f6d8149a4e072f0e229c78a43d174fa0
 
--f6d8149a4e072f0e229c78a43d174fa0
 
Content-Type: text/html; name="index.htm"
 
Content-Transfer-Encoding: base64
 
Content-Disposition: attachment
 
 
 
PGh0bWw+DQoNCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1MYW5ndWFnZSIgY29u
 
dGVudD0iZnIiPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0
 
L2h0bWw7IGNoYXJzZXQ9d2luZG93cy0xMjUyIj4NCjx0aXRsZT5sZW1hbmNoZWMuY29tPC90aXRs
 
ZT4NCjwvaGVhZD4NCg0KPGJvZHk+DQoNCjxwPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjIi
 
PmxlbWFuY2hlYy5jb208L2ZvbnQ+PC9wPg0KDQo8L2JvZHk+DQoNCjwvaHRtbD4NCgk=
 
 
 
 
--f6d8149a4e072f0e229c78a43d174fa0
 
 


 
Donc en clair, la limite headers, texte est paumée  :cry:  :cry:  :cry:  :cry:  
 
Ca fait depuis hier que je suis dessus  :fou:
 
Voulez vous le code php ??
 
Merci  :hello:


Message édité par dcvlm le 29-11-2005 à 16:45:52

---------------
ZZZZzzzzz
Reply

Marsh Posté le 29-11-2005 à 16:45:05   

Reply

Marsh Posté le 29-11-2005 à 17:09:31    

Tu as essayé d'envoyer vers une autre boîte ?


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 29-11-2005 à 17:14:20    

sircam a écrit :

Tu as essayé d'envoyer vers une autre boîte ?


 
Oui, est c'est tjs le bazar..... Y'a du header dans le corps du mail :(


---------------
ZZZZzzzzz
Reply

Marsh Posté le 30-11-2005 à 10:32:54    

Aller, un petit coup de pouce parce que mon probleme est tjs aussi etrange... :(


---------------
ZZZZzzzzz
Reply

Marsh Posté le 30-11-2005 à 11:56:39    

dcvlm a écrit :

Aller, un petit coup de pouce parce que mon probleme est tjs aussi etrange... :(

un bout de code pour nous aider ?

Reply

Marsh Posté le 30-11-2005 à 12:04:58    

Bien sur  :)  
 
 

Code :
  1. $boundary = md5(uniqid (rand()));
  2. $to = $_SESSION['friend']['prenom'];
  3. $from = $_SESSION['user']['prenom'];
  4. $subject = $_POST['subject'];
  5. $headers = "From: ".$from."\r\n";
  6. $headers .= "Date: ".date("r" )."\r\n";
  7. $headers .= "MIME-Version: 1.0\r\n";
  8. $headers .= "This text is hidden\r\n";
  9. $headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n\r\n";
  10. $texte = "--$boundary\r\n";
  11. $texte .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
  12. $texte .= "Content-Transfer-Encoding: 8bit\r\n";
  13. $texte .= stripslashes($message)."\r\n";
  14. $texte .= "--$boundary\r\n";
  15. if(!empty($_FILES['userfile']['tmp_name'])) {
  16.  include($server_root."/mime.php" );
  17.  $texte .= "--$boundary\r\n";
  18.  $texte .= "Content-Type: le_type_du_fichier ; name="le_nom_du_fichier"\r\n";
  19.  $texte .= "Content-Transfer-Encoding: base64\r\n";
  20.  $texte .= "Content-Disposition: attachment;\r\n\r\n";
  21.  $fd = fopen( $_FILES['userfile']['tmp_name'], "r" );
  22.  $contenu = fread( $fd, filesize( $_FILES['userfile']['tmp_name'] ) );
  23.  fclose( $fd );
  24.  $texte .= chunk_split(base64_encode($contenu));
  25.  $texte .= "\n\r\n--$boundary\r\n";
  26. }
  27. $success = mail($to, $subject, $texte, $headers);


 
 
En esperant que vous ayez l'illumination  :sol:  
 
Thanks  :hello:
 
Edit : j'ai vire 2/3 trucs ds le code qui genaient la lecture

Message cité 2 fois
Message édité par dcvlm le 30-11-2005 à 12:07:27

---------------
ZZZZzzzzz
Reply

Marsh Posté le 30-11-2005 à 15:23:12    

dcvlm a écrit :

Code :
  1. $headers .= "This text is hidden\r\n";


c'est un nouveau header maison ?
 
EDIT: tag

Message cité 1 fois
Message édité par soju le 30-11-2005 à 15:23:41
Reply

Marsh Posté le 30-11-2005 à 15:43:42    

soju a écrit :

c'est un nouveau header maison ?
 
EDIT: tag


lol    :D  
C'est dans le desespoir que j'ai place ca là... Parmi les nbx sites que j'ai croise, des fois j'ai vu "this is part of multipart mime email...etc..."
Bon d'ailleurs, que ca soit la ou pas la, mon prb reste le meme....  :cry:  
Ca fouare tjs  :o


---------------
ZZZZzzzzz
Reply

Marsh Posté le 30-11-2005 à 15:52:53    

et la ligne suivante c'est quoi ??

dcvlm a écrit :

Code :
  1. $texte .= "Content-Type: le_type_du_fichier ; name="le_nom_du_fichier"\r\n";


ya une parse_error en plus sur cette ligne, donc je vois pas comment ton script peut fonctionner

Reply

Marsh Posté le 30-11-2005 à 16:02:21    

soju a écrit :

et la ligne suivante c'est quoi ??ya une parse_error en plus sur cette ligne, donc je vois pas comment ton script peut fonctionner


 :heink: Bah on pouvait deviner que c'etait pas tel quel dans mon script.... tous les fichiers de la planete ne sont pas de type le_type_du_fichier et ne s'appellent pas le_nom_du_fichier...
Ca fait parti d'un script pr envoyer un mail avec piece jointe, faut pas dire n'importe quoi  :pfff:
 
Edit : merci d'avoir teste qd meme hein !! :)  (ou au moins d'avoir lu avec attention et d'avoir jouer le pareseur php :))

Message cité 2 fois
Message édité par dcvlm le 30-11-2005 à 16:03:47

---------------
ZZZZzzzzz
Reply

Marsh Posté le 30-11-2005 à 16:02:21   

Reply

Marsh Posté le 30-11-2005 à 16:07:04    

dcvlm a écrit :

Bah on pouvait deviner que c'etait pas tel quel dans mon script...

vu les énergumènes qu'on voit passer ici, non
 

dcvlm a écrit :

tous les fichiers de la planete ne sont pas de type le_type_du_fichier et ne s'appellent pas le_nom_du_fichier

c'est vrai ?
 

dcvlm a écrit :

faut pas dire n'importe quoi  :pfff:

sympa, j'essaye de t'aider et tu me réponds comme ça...
en tous cas j'ai testé et pas de problème chez moi, même avec les boites gmail

Reply

Marsh Posté le 30-11-2005 à 16:08:12    

dcvlm a écrit :

Edit : merci d'avoir teste qd meme hein !! :)  (ou au moins d'avoir lu avec attention et d'avoir jouer le pareseur php :))

ok, bien rattrapé...  ;)  

Reply

Marsh Posté le 30-11-2005 à 16:14:40    

soju a écrit :

ok, bien rattrapé...  ;)


Cheers  :hello:  
 
Et tu dis que tu as teste chez toi et que ca marche...
Ca veut dire qu'avec ce code, le mail que tu recois est propre ?? I mean pas de header ds le mail en end-user view ???  :??:  :??:  :pt1cable:  


---------------
ZZZZzzzzz
Reply

Marsh Posté le 30-11-2005 à 16:49:00    

dcvlm a écrit :

Ca veut dire qu'avec ce code, le mail que tu recois est propre ?? I mean pas de header ds le mail en end-user view ???  :??:  :??:  :pt1cable:

oui oui ^^
 

Reply

Marsh Posté le 30-11-2005 à 16:59:59    

soju a écrit :

oui oui ^^


Oh for fuck sake !  :ouch:


---------------
ZZZZzzzzz
Reply

Marsh Posté le 30-11-2005 à 20:14:44    

  • Certains serveurs (de merde) veulent des \n comme séparateur.
  • Fait bien gaffe à ton $_SESSION['user']['prenom'], qu'il n'y ait pas des choses louches dedans ;)

Reply

Sujets relatifs:

Leave a Replay

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