julien51 Posté 26 Septembre 2006 Posté 26 Septembre 2006 Bonjour, J'ai un site en PHP, et je pense que cela peut être de là que vient le problème... J'envoie des mails avec la fonction mail(). Il semble que dans le contenu de mes mails se glissent des "!++", ce qui n'est pas très agréable dans le contenu mais plus grave dans les liens : /etudiant/offre,j!++ob,etudiant,7429,Hotessariat.php qui donne un 404 derrière... c'est moche! Si vous avez des idées pour supprimer ces vilaines petiotes choses, je prends! Merci
Dan Posté 26 Septembre 2006 Posté 26 Septembre 2006 Et comment génères-tu le contenu de ces mails ? Difficile de te répondre sans savoir cela.
julien51 Posté 27 Septembre 2006 Auteur Posté 27 Septembre 2006 Ben, en fait, j'ai une table SQL qui contient le "Body", le "To:" et le "Subject" de mes mails... et ensuite, un script PHP récupere l'enregistrement le plus ancien, et fait un mail("To","Subject","Body")... Notez que le contenu des mails est de l'HTML... Merci pour ton aide Dan, Ju
captain_torche Posté 27 Septembre 2006 Posté 27 Septembre 2006 Tes !++ ne viennent pas de nulle part. Dans ta base, sont-ils déjà présents ?
julien51 Posté 27 Septembre 2006 Auteur Posté 27 Septembre 2006 apparement non, je dis apparament parce que je n'en trouve pas à l'heure actuelle, mais que je ne sais pas si dans les mails recu il y en aura!
xpatval Posté 27 Septembre 2006 Posté 27 Septembre 2006 Pourrais-tu nous mettre le code, afin d'y voir plus clair ? xpatval
julien51 Posté 28 Septembre 2006 Auteur Posté 28 Septembre 2006 Il semble bien que le problème vienne de ce bout de code, car la base mysql ne contient pas ces fumeux "!++"... Code qui réalise l'envoi en tant que tel : // Prepare HTML Mail $entete= "MIME-Version: 1.0\r\n"; $entete.="Content-type: text/html;charset=iso-8859-1\r\n"; $entete.="Content-Transfer-Encoding: 8bit\r\n"; $entete.="From: info_AT_xxxxxx.net\r\n"; $entete.="Reply-To: info_AT_xxxxxx.net\r\n"; $entete.="Return-Path: erreurmail_AT_xxxxxx.net\r\n"; if($template=="") { $leCodeHTML=getTemplateMail(); } else { $leCodeHTML=$template; } $leCodeHTML=str_replace("##Content##",$contenu,$leCodeHTML); mail($contactMailTo,$contactMailSubject,$leCodeHTML,$entete);} function getTemplateMail(){ $fichier=fopen("/home/web/xxxxxx/scripts/mail-template.html", 'r'); $leCodeHTML=fread($fichier, filesize ("/home/web/xxxxxx/scripts/mail-template.html")); fclose($fichier); return $leCodeHTML;} Voilà, merci pour votre aide!
NorSeb Posté 29 Septembre 2006 Posté 29 Septembre 2006 Salut, Tu as regardé le contenu de /home/web/xxxxxx/scripts/mail-template.html ?
julien51 Posté 29 Septembre 2006 Auteur Posté 29 Septembre 2006 Oui bien sûr, mais ce n'est pas de là que viens le problème car il n'y a pas de !++ dedans et que d'ailleurs les !++ apparaissent aussi dans le contenu qui est remplacé! Merci
julien51 Posté 30 Septembre 2006 Auteur Posté 30 Septembre 2006 Pas d'idée particulière? J'ai remarqué que ces !++ arrivaient systématiquement lorsque les emails étaient très longs... (plus d'une page) Merci pour votre aide!
captain_torche Posté 2 Octobre 2006 Posté 2 Octobre 2006 Je viens de voir ça, dans la doc PHP : Chaque ligne doit être séparée par un caractère LF (\n). Les lignes ne doit pas comporter plus de 70 caractères. Essaye avec ça : <?php$message = wordwrap($message, 70);?>
julien51 Posté 2 Octobre 2006 Auteur Posté 2 Octobre 2006 Merci Captain_torche.... Ca m'a l'air pas mal comme solution! Par contre, mes mails sont au format HTML, je ne risque pas d'avoir des balises tronquées?
btruton Posté 12 Juin 2007 Posté 12 Juin 2007 Salut, Je voulais savoir si julien51 a trouve la solution a son problème. Il m'arrive exactement la même chose et je galère dessus. J'ai revu mes headers et mes scripts et j'ai des foutus caractères qui apparaissent surgissant de nul part. Pour info ce n'est pas un problème avec les caractères possédant des accents. Mon script PHP génère le mail je fais une copie du mail dans un fichier texte pour vérifier la présence des ses foutus caractères et là ils n'apparaissent pas. Par contre ils apparaissent de temps en temps dans mes mails. Si vous voulez plus d'info pour m'aider surtout nhésitez pas. Par avance MERCI Bruno
captain_torche Posté 12 Juin 2007 Posté 12 Juin 2007 As-tu essayé avec la fonction wordwrap, comme cité plus haut ?
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant