Espaces remplacés par des plus dans un mail

Espaces remplacés par des plus dans un mail - PHP - Programmation

Marsh Posté le 23-01-2006 à 12:29:55    

Bonsoir à tous,
 
J'utilise la fonction mail pour envoyer un mail HTML comme ci-dessous :
 
 

Code :
  1. $headers="MIME-Version: 1.0\n";
  2. $headers.="Content-type: text/html; charset=iso-8859-1\n";
  3. $headers.="From: Moi <moi@domaine.com>\n";
  4. $headers.="Reply-To: moi@domaine.com\n";
  5. if(!mail("moi@domaine.com,$_POST[email]","L'objet","<html><body>$texte</body></html>",$headers))
  6. exit("La commande n'a pas été enregistrée. Vérifiez que l'adresse e-mail que vous avez entrée est correcte." );


 
Ce n'est évidemment pas très explicite, voilà une ligne présente dans $texte :
 

Code :
  1. <img src="http://www.mondomaine.be/photos/dumonde/preparation/petit/F43 (27) copie.jpg" alt="dumonde/preparation/petit/F43 (27) copie.jpg" class="image">


 
Et voici comment cette même ligne aparait dans mon mail reçu :  
 

Code :
  1. <img src="http://www.mondomaine.be/photos/dumonde/preparation/petit/F43+(27)+copie.jpg" alt="dumonde/preparation/petit/F43 (27) copie.jpg" class="image">


 
---edit---
 
Après quelques tests, c'est gmail qui remplace les espaces par des plus  :??:  
Si j'envoie le mail vers une adresse outlook, le problème ne se pose pas...


Message édité par zezette le 23-01-2006 à 12:32:44

---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 23-01-2006 à 12:29:55   

Reply

Marsh Posté le 23-01-2006 à 12:31:59    

Reply

Marsh Posté le 23-01-2006 à 12:37:40    

D'un autre coté des espaces dans une url c'est pas censé exister, hein...[:dawa]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 23-01-2006 à 12:40:42    

Ouais, mais en principe ils sont remplacés par %20... Et va expliquer à quelqu'un qui n'y connait rien qu'on ne peut pas mettre d'espaces... J'ai déjà réussi à ne plus lui faire mettre de caractères spéciaux (accents, ...) c'est deja pas mal :)


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 23-01-2006 à 12:43:27    

pas mal, mais pas suffisant.[:skeye]
Tu la récupères comment ton url? Tu ne peux pas la corriger via urlencode, tout bêtement?


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 23-01-2006 à 12:49:47    

L'URL est générée par une lecture avec readdir. Si le nom de fichier contient un espace, il me retourne un espace. Enf ait je pourrais simplement remplacer les espaces par %20... urlencode doit faire ça en effet... mais je vais quand même signaler le bug à gmail ;)


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 23-01-2006 à 12:50:34    

zezette a écrit :

L'URL est générée par une lecture avec readdir. Si le nom de fichier contient un espace, il me retourne un espace. Enf ait je pourrais simplement remplacer les espaces par %20... urlencode doit faire ça en effet... mais je vais quand même signaler le bug à gmail ;)


Ce n'est pas un bug de gmail, c'est un bug du contenu html que gmail reçoit, en l'occurrence un bug de ton programme.[:skeye]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 23-01-2006 à 13:21:47    

Ouais si on veut mais mon bug est géré par outlook et hotmail sans problème... Faudrait que j'en teste d'autres...  
 
Enfin de toute façons, je sais ce que j'ai a faire pour que ça marche ;)


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 23-01-2006 à 13:27:33    

zezette a écrit :

Ouais, mais en principe ils sont remplacés par %20...


non [:el g]  
 
Les RFC demandent un remplacement par un "+"
 
Et accessoirement ton script a une faille de sécurité béante, juste histoire que tu sois au courant


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 23-01-2006 à 13:31:24    

fais le test avec +, ça marchera pas...  tandis qu'avec %20 y'a pas de probleme
 
Et c'est quoi cette histoire de faille de sécurité ?


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 23-01-2006 à 13:31:24   

Reply

Marsh Posté le 23-01-2006 à 13:33:15    

zezette a écrit :

fais le test avec +, ça marchera pas...  tandis qu'avec %20 y'a pas de probleme


 
Il te dit pas que ça marchera, il te dit que c'est ce qui est écrit dans la RFC, ce qui signifie que ce sont les trucs qui marchent qui ont tort.:o


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 23-01-2006 à 13:36:16    

zezette a écrit :

Et c'est quoi cette histoire de faille de sécurité ?


Ben tu fais du PHP à la base, donc ce langage est une grosse faille de sécurité purulente, mais à part ça la fonction mail() de PHP ça fait un peu partie des champions des fonctions à la con stu veux [:moule_bite]
http://securephp.damonkohler.com/i [...] _Injection


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 23-01-2006 à 13:38:39    

masklinn a écrit :

Ben tu fais du PHP à la base, donc ce langage est une grosse faille de sécurité purulente, mais à part ça la fonction mail() de PHP ça fait un peu partie des champions des fonctions à la con stu veux [:moule_bite]
http://securephp.damonkohler.com/i [...] _Injection


 
Tant que tu maitrises les différents paramètres ya pas vraiment de soucis, non?:o


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 23-01-2006 à 13:45:40    

skeye a écrit :

Tant que tu maitrises les différents paramètres ya pas vraiment de soucis, non?:o


Ouaip, mais quand tu patates du $_POST directement dans un paramètre de mail() comme ça m'a tout l'air d'être fait ici, ben... [:el g]


Message édité par masklinn le 23-01-2006 à 13:45:53

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 23-01-2006 à 13:46:15    

ah oui, j'avais pas vu...[:chrisbk]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 23-01-2006 à 13:57:20    

ouais, sauf que je suis dans une session et que je vérifie avant d'entrer dans le script


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Sujets relatifs:

Leave a Replay

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