Aller au contenu

Problèmes de !++ rajouté dans certaines chaines


Sujets conseillés

Posté

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 :smartass:

Posté

Et comment génères-tu le contenu de ces mails ?

Difficile de te répondre sans savoir cela.

Posté

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

Posté

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!

Posté

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!

Posté

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

Posté

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!

Posté

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);
?>

Posté

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?

  • 8 months later...
Posté

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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...