Au secours !! Probleme incomprehensible sur mail HTML !
7 réponses
Marie
Bonjour à tous,
J'utilise un script qui a pour but d'envoyer des messages au format html
Il fonctionne mais j'ai le bug suivant.
J'ai des morceaux de texte ou balises qui disparaissent dans le code html
final et cela de façon aleatoire.
Un coup, c'est un</td qui se ferme plus, une autre fois, c'est un <tr
parfois ca donne aussi <r, ca peut arriver qu'une lettre disparaisse aussi.
Bref c'est le bins !!! Je m'arrache les cheveux depuis 2 jours pour
identifier le bug.
Je vous donne le script utilisé pour ma fonction mail().
function mail_html($destinataire, $sujet , $messtxt, $messhtml , $from){
$message = "\nThis is a multi-part message in MIME format.";
$message.="\n--$boundary\nContent-Type:
text/html;charset=\"iso-8859-1\"\n\n";
$message.= $messhtml;
$message.="\n--$boundary--\n end of the multi-part";
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Paul Delannoy
Marie a écrit:
Bonjour à tous, J'utilise un script qui a pour but d'envoyer des messages au format html Il fonctionne mais j'ai le bug suivant. J'ai des morceaux de texte ou balises qui disparaissent dans le code html final et cela de façon aleatoire. Un coup, c'est un</td qui se ferme plus, une autre fois, c'est un <tr parfois ca donne aussi <r, ca peut arriver qu'une lettre disparaisse aussi. Bref c'est le bins !!! Je m'arrache les cheveux depuis 2 jours pour identifier le bug. Je vous donne le script utilisé pour ma fonction mail(). Si quelqu'u pouvait m'éclairer. Merci !!
Regarder s'il n'y a pas un nb de caractères par ligne à ne pas dépasser? Un indice : chercher à savoir combien de caractères séparent le dernier <newline> du caractère qui disparaît ?
Marie a écrit:
Bonjour à tous,
J'utilise un script qui a pour but d'envoyer des messages au format html
Il fonctionne mais j'ai le bug suivant.
J'ai des morceaux de texte ou balises qui disparaissent dans le code html
final et cela de façon aleatoire.
Un coup, c'est un</td qui se ferme plus, une autre fois, c'est un <tr
parfois ca donne aussi <r, ca peut arriver qu'une lettre disparaisse aussi.
Bref c'est le bins !!! Je m'arrache les cheveux depuis 2 jours pour
identifier le bug.
Je vous donne le script utilisé pour ma fonction mail().
Si quelqu'u pouvait m'éclairer. Merci !!
Regarder s'il n'y a pas un nb de caractères par ligne à ne pas dépasser?
Un indice : chercher à savoir combien de caractères séparent le
dernier <newline> du caractère qui disparaît ?
Bonjour à tous, J'utilise un script qui a pour but d'envoyer des messages au format html Il fonctionne mais j'ai le bug suivant. J'ai des morceaux de texte ou balises qui disparaissent dans le code html final et cela de façon aleatoire. Un coup, c'est un</td qui se ferme plus, une autre fois, c'est un <tr parfois ca donne aussi <r, ca peut arriver qu'une lettre disparaisse aussi. Bref c'est le bins !!! Je m'arrache les cheveux depuis 2 jours pour identifier le bug. Je vous donne le script utilisé pour ma fonction mail(). Si quelqu'u pouvait m'éclairer. Merci !!
Regarder s'il n'y a pas un nb de caractères par ligne à ne pas dépasser? Un indice : chercher à savoir combien de caractères séparent le dernier <newline> du caractère qui disparaît ?
Marie
Je vais vérifier mais ca parrait bizarre Cela pourrait il venir du fait que je suis en local sur un windows xp ?
"Paul Delannoy" a écrit dans le message de news:
Marie a écrit:
Bonjour à tous, J'utilise un script qui a pour but d'envoyer des messages au format html Il fonctionne mais j'ai le bug suivant. J'ai des morceaux de texte ou balises qui disparaissent dans le code html final et cela de façon aleatoire. Un coup, c'est un</td qui se ferme plus, une autre fois, c'est un <tr parfois ca donne aussi <r, ca peut arriver qu'une lettre disparaisse aussi. Bref c'est le bins !!! Je m'arrache les cheveux depuis 2 jours pour identifier le bug. Je vous donne le script utilisé pour ma fonction mail(). Si quelqu'u pouvait m'éclairer. Merci !!
Regarder s'il n'y a pas un nb de caractères par ligne à ne pas dépasser? Un indice : chercher à savoir combien de caractères séparent le dernier <newline> du caractère qui disparaît ?
Je vais vérifier mais ca parrait bizarre
Cela pourrait il venir du fait que je suis en local sur un windows xp ?
"Paul Delannoy" <delannoy@univ-lemans.fr> a écrit dans le message de news:
4226C25D.1050000@univ-lemans.fr...
Marie a écrit:
Bonjour à tous,
J'utilise un script qui a pour but d'envoyer des messages au format html
Il fonctionne mais j'ai le bug suivant.
J'ai des morceaux de texte ou balises qui disparaissent dans le code html
final et cela de façon aleatoire.
Un coup, c'est un</td qui se ferme plus, une autre fois, c'est un <tr
parfois ca donne aussi <r, ca peut arriver qu'une lettre disparaisse
aussi.
Bref c'est le bins !!! Je m'arrache les cheveux depuis 2 jours pour
identifier le bug.
Je vous donne le script utilisé pour ma fonction mail().
Si quelqu'u pouvait m'éclairer. Merci !!
Regarder s'il n'y a pas un nb de caractères par ligne à ne pas dépasser?
Un indice : chercher à savoir combien de caractères séparent le dernier
<newline> du caractère qui disparaît ?
Je vais vérifier mais ca parrait bizarre Cela pourrait il venir du fait que je suis en local sur un windows xp ?
"Paul Delannoy" a écrit dans le message de news:
Marie a écrit:
Bonjour à tous, J'utilise un script qui a pour but d'envoyer des messages au format html Il fonctionne mais j'ai le bug suivant. J'ai des morceaux de texte ou balises qui disparaissent dans le code html final et cela de façon aleatoire. Un coup, c'est un</td qui se ferme plus, une autre fois, c'est un <tr parfois ca donne aussi <r, ca peut arriver qu'une lettre disparaisse aussi. Bref c'est le bins !!! Je m'arrache les cheveux depuis 2 jours pour identifier le bug. Je vous donne le script utilisé pour ma fonction mail(). Si quelqu'u pouvait m'éclairer. Merci !!
Regarder s'il n'y a pas un nb de caractères par ligne à ne pas dépasser? Un indice : chercher à savoir combien de caractères séparent le dernier <newline> du caractère qui disparaît ?
Francis Spiesser
Paul Delannoy a formulé ce jeudi :
Marie a écrit:
Bonjour à tous, J'utilise un script qui a pour but d'envoyer des messages au format html Il fonctionne mais j'ai le bug suivant. J'ai des morceaux de texte ou balises qui disparaissent dans le code html final et cela de façon aleatoire. Un coup, c'est un</td qui se ferme plus, une autre fois, c'est un <tr parfois ca donne aussi <r, ca peut arriver qu'une lettre disparaisse aussi. Bref c'est le bins !!! Je m'arrache les cheveux depuis 2 jours pour identifier le bug. Je vous donne le script utilisé pour ma fonction mail(). Si quelqu'u pouvait m'éclairer. Merci !!
Regarder s'il n'y a pas un nb de caractères par ligne à ne pas dépasser? Un indice : chercher à savoir combien de caractères séparent le dernier <newline> du caractère qui disparaît ?
La "norme" c'est 72 caractères par ligne, il me semble
-- ______ Francis (enlever .NIPUBNISOUMIS) "Le présent n'est qu'un futur qui a vieilli"
Paul Delannoy a formulé ce jeudi :
Marie a écrit:
Bonjour à tous,
J'utilise un script qui a pour but d'envoyer des messages au format html
Il fonctionne mais j'ai le bug suivant.
J'ai des morceaux de texte ou balises qui disparaissent dans le code html
final et cela de façon aleatoire.
Un coup, c'est un</td qui se ferme plus, une autre fois, c'est un <tr
parfois ca donne aussi <r, ca peut arriver qu'une lettre disparaisse aussi.
Bref c'est le bins !!! Je m'arrache les cheveux depuis 2 jours pour
identifier le bug.
Je vous donne le script utilisé pour ma fonction mail().
Si quelqu'u pouvait m'éclairer. Merci !!
Regarder s'il n'y a pas un nb de caractères par ligne à ne pas dépasser?
Un indice : chercher à savoir combien de caractères séparent le dernier
<newline> du caractère qui disparaît ?
La "norme" c'est 72 caractères par ligne, il me semble
--
______
Francis (enlever .NIPUBNISOUMIS)
"Le présent n'est qu'un futur qui a vieilli"
Bonjour à tous, J'utilise un script qui a pour but d'envoyer des messages au format html Il fonctionne mais j'ai le bug suivant. J'ai des morceaux de texte ou balises qui disparaissent dans le code html final et cela de façon aleatoire. Un coup, c'est un</td qui se ferme plus, une autre fois, c'est un <tr parfois ca donne aussi <r, ca peut arriver qu'une lettre disparaisse aussi. Bref c'est le bins !!! Je m'arrache les cheveux depuis 2 jours pour identifier le bug. Je vous donne le script utilisé pour ma fonction mail(). Si quelqu'u pouvait m'éclairer. Merci !!
Regarder s'il n'y a pas un nb de caractères par ligne à ne pas dépasser? Un indice : chercher à savoir combien de caractères séparent le dernier <newline> du caractère qui disparaît ?
La "norme" c'est 72 caractères par ligne, il me semble
-- ______ Francis (enlever .NIPUBNISOUMIS) "Le présent n'est qu'un futur qui a vieilli"
Olivier Miakinen
Je vais vérifier mais ca parrait bizarre [ note : Marie parle du fait que des lignes trop longues auraient pu
provoquer le bug (¹) ]
Ça te paraît bizarre parce que les lignes que tu envoies sont courtes, ou bien parce que tu ne comprends pas comment des lignes trop longues pourraient avoir cet effet ?
Cela pourrait il venir du fait que je suis en local sur un windows xp ?
De mauvaises langues pourraient te dire que n'importe quel bug peut survenir du fait d'utiliser Windows XP, mais sinon je ne vois pas comment cela pourrait intervenir.
-- Olivier Miakinen (¹) Pour ne plus citer à l'envers : <http://www.giromini.org/usenet-fr/repondre.html>
Je vais vérifier mais ca parrait bizarre
[ note : Marie parle du fait que des lignes trop longues auraient pu
provoquer le bug (¹) ]
Ça te paraît bizarre parce que les lignes que tu envoies sont courtes,
ou bien parce que tu ne comprends pas comment des lignes trop longues
pourraient avoir cet effet ?
Cela pourrait il venir du fait que je suis en local sur un windows xp ?
De mauvaises langues pourraient te dire que n'importe quel bug peut
survenir du fait d'utiliser Windows XP, mais sinon je ne vois pas
comment cela pourrait intervenir.
--
Olivier Miakinen
(¹) Pour ne plus citer à l'envers :
<http://www.giromini.org/usenet-fr/repondre.html>
Je vais vérifier mais ca parrait bizarre [ note : Marie parle du fait que des lignes trop longues auraient pu
provoquer le bug (¹) ]
Ça te paraît bizarre parce que les lignes que tu envoies sont courtes, ou bien parce que tu ne comprends pas comment des lignes trop longues pourraient avoir cet effet ?
Cela pourrait il venir du fait que je suis en local sur un windows xp ?
De mauvaises langues pourraient te dire que n'importe quel bug peut survenir du fait d'utiliser Windows XP, mais sinon je ne vois pas comment cela pourrait intervenir.
-- Olivier Miakinen (¹) Pour ne plus citer à l'envers : <http://www.giromini.org/usenet-fr/repondre.html>
Olivier Miakinen
Regarder s'il n'y a pas un nb de caractères par ligne à ne pas dépasser? Un indice : chercher à savoir combien de caractères séparent le dernier <newline> du caractère qui disparaît ?
La "norme" c'est 72 caractères par ligne, il me semble
Pas exactement.
Il est vivement recommandé de ne pas dépasser 78 caractères par ligne, ce qui fait donc 80 avec le rn. Les 72 caractères par ligne, c'est une recommandation pour les nouveaux messages, afin qu'on puisse ajouter un ou plusieurs niveaux de citation sans dépasser les 78, et donc sans avoir besoin de reformater les lignes. Malheureusement, Outlook Express qui est utilisé par un grand nombre de personnes a interprété cette consigne de travers, ce qui fait que beaucoup font l'erreur.
À part cela, il est absolument obligatoire de ne pas dépasser 998 caractères par ligne, ce qui fait donc 1000 avec le rn. Si cette limite est dépassée, alors oui il pourrait y avoir des caractères tronqués pour cette raison.
-- Olivier Miakinen Non, monsieur le juge, je vous le jure : jamais je n'ai cité Bruxelles dans ma signature.
Regarder s'il n'y a pas un nb de caractères par ligne à ne pas dépasser?
Un indice : chercher à savoir combien de caractères séparent le dernier
<newline> du caractère qui disparaît ?
La "norme" c'est 72 caractères par ligne, il me semble
Pas exactement.
Il est vivement recommandé de ne pas dépasser 78 caractères par ligne,
ce qui fait donc 80 avec le rn. Les 72 caractères par ligne, c'est une
recommandation pour les nouveaux messages, afin qu'on puisse ajouter un
ou plusieurs niveaux de citation sans dépasser les 78, et donc sans
avoir besoin de reformater les lignes. Malheureusement, Outlook Express
qui est utilisé par un grand nombre de personnes a interprété cette
consigne de travers, ce qui fait que beaucoup font l'erreur.
À part cela, il est absolument obligatoire de ne pas dépasser 998
caractères par ligne, ce qui fait donc 1000 avec le rn. Si cette
limite est dépassée, alors oui il pourrait y avoir des caractères
tronqués pour cette raison.
--
Olivier Miakinen
Non, monsieur le juge, je vous le jure : jamais je n'ai cité
Bruxelles dans ma signature.
Regarder s'il n'y a pas un nb de caractères par ligne à ne pas dépasser? Un indice : chercher à savoir combien de caractères séparent le dernier <newline> du caractère qui disparaît ?
La "norme" c'est 72 caractères par ligne, il me semble
Pas exactement.
Il est vivement recommandé de ne pas dépasser 78 caractères par ligne, ce qui fait donc 80 avec le rn. Les 72 caractères par ligne, c'est une recommandation pour les nouveaux messages, afin qu'on puisse ajouter un ou plusieurs niveaux de citation sans dépasser les 78, et donc sans avoir besoin de reformater les lignes. Malheureusement, Outlook Express qui est utilisé par un grand nombre de personnes a interprété cette consigne de travers, ce qui fait que beaucoup font l'erreur.
À part cela, il est absolument obligatoire de ne pas dépasser 998 caractères par ligne, ce qui fait donc 1000 avec le rn. Si cette limite est dépassée, alors oui il pourrait y avoir des caractères tronqués pour cette raison.
-- Olivier Miakinen Non, monsieur le juge, je vous le jure : jamais je n'ai cité Bruxelles dans ma signature.
WebRod
Bonjour,
le coup des rn c'est obligatoire?? Parce que j'avais eu exactement le même problème (cartactères qui disparraissent) et je l'avais résolu en ajoutant ca avant le send mail: $message=str_replace("rn","n",$message);
Je ne sais plus pour quelle raison, ni où j'ai lu qu'il fallait faire cela, mais mon problème a été résolu immédiatement.
Rod
Bonjour,
le coup des rn c'est obligatoire??
Parce que j'avais eu exactement le même problème (cartactères qui
disparraissent) et je l'avais résolu en ajoutant ca avant le send mail:
$message=str_replace("rn","n",$message);
Je ne sais plus pour quelle raison, ni où j'ai lu qu'il fallait faire cela,
mais mon problème a été résolu immédiatement.
le coup des rn c'est obligatoire?? Parce que j'avais eu exactement le même problème (cartactères qui disparraissent) et je l'avais résolu en ajoutant ca avant le send mail: $message=str_replace("rn","n",$message);
Je ne sais plus pour quelle raison, ni où j'ai lu qu'il fallait faire cela, mais mon problème a été résolu immédiatement.
Rod
Olivier Miakinen
le coup des rn c'est obligatoire??
Je suppose que c'est à mon article que tu réponds ? Merci de laisser le strict minimum de l'article précédent pour que l'on sache à qui -- et surtout à quoi -- tu réponds. Attention, il ne s'agit pas non plus de tout recopier, formules de politesse et signatures comprises !
Parce que j'avais eu exactement le même problème (cartactères qui disparraissent) et je l'avais résolu en ajoutant ca avant le send mail: $message=str_replace("rn","n",$message);
Je ne sais plus pour quelle raison, ni où j'ai lu qu'il fallait faire cela, mais mon problème a été résolu immédiatement.
Il y a deux choses différentes, ici. L'une est ce qui transite réellement sur le réseau (et qui doit contenir CR=r *et* LF=n). L'autre est la convention utilisée par ton langage de programmation sur ton système.
Par exemple, sur Windows, les fichiers texte contiennent rn, mais la plupart des langages de programmation, dont le C et le PHP, travaillent sur des chaînes avec n seul. C'est au moment de l'envoi dans un fichier ou sur le réseau que la transformation n -> rn se fait ; inversement, lors de la réception d'un message, on a la transformation rn -> n.
Donc, si tu veux envoyer une chaîne qui contient en interne rn, la transformation au moment de l'envoi donnera (¹) rn -> rrn, ce qui est incorrect et pourrait poser des problèmes.
La norme dont je parlais (je pourrai retrouver le numéro de RFC au besoin) se fiche pas mal de la représentation interne et compte donc deux caractères par fin de ligne.
-- Olivier Miakinen (¹) « donnera » ou « pourra donner ». En effet, les r pourraient être supprimés avant conversion, ou les séquences rn pourraient être reconnues comme telles : tout dépend du convertisseur.
le coup des rn c'est obligatoire??
Je suppose que c'est à mon article que tu réponds ? Merci de laisser le
strict minimum de l'article précédent pour que l'on sache à qui -- et
surtout à quoi -- tu réponds. Attention, il ne s'agit pas non plus de
tout recopier, formules de politesse et signatures comprises !
Parce que j'avais eu exactement le même problème (cartactères qui
disparraissent) et je l'avais résolu en ajoutant ca avant le send mail:
$message=str_replace("rn","n",$message);
Je ne sais plus pour quelle raison, ni où j'ai lu qu'il fallait faire cela,
mais mon problème a été résolu immédiatement.
Il y a deux choses différentes, ici. L'une est ce qui transite
réellement sur le réseau (et qui doit contenir CR=r *et* LF=n).
L'autre est la convention utilisée par ton langage de programmation
sur ton système.
Par exemple, sur Windows, les fichiers texte contiennent rn, mais la
plupart des langages de programmation, dont le C et le PHP, travaillent
sur des chaînes avec n seul. C'est au moment de l'envoi dans un fichier
ou sur le réseau que la transformation n -> rn se fait ; inversement,
lors de la réception d'un message, on a la transformation rn -> n.
Donc, si tu veux envoyer une chaîne qui contient en interne rn, la
transformation au moment de l'envoi donnera (¹) rn -> rrn, ce qui
est incorrect et pourrait poser des problèmes.
La norme dont je parlais (je pourrai retrouver le numéro de RFC au
besoin) se fiche pas mal de la représentation interne et compte donc
deux caractères par fin de ligne.
--
Olivier Miakinen
(¹) « donnera » ou « pourra donner ». En effet, les r pourraient être
supprimés avant conversion, ou les séquences rn pourraient être
reconnues comme telles : tout dépend du convertisseur.
Je suppose que c'est à mon article que tu réponds ? Merci de laisser le strict minimum de l'article précédent pour que l'on sache à qui -- et surtout à quoi -- tu réponds. Attention, il ne s'agit pas non plus de tout recopier, formules de politesse et signatures comprises !
Parce que j'avais eu exactement le même problème (cartactères qui disparraissent) et je l'avais résolu en ajoutant ca avant le send mail: $message=str_replace("rn","n",$message);
Je ne sais plus pour quelle raison, ni où j'ai lu qu'il fallait faire cela, mais mon problème a été résolu immédiatement.
Il y a deux choses différentes, ici. L'une est ce qui transite réellement sur le réseau (et qui doit contenir CR=r *et* LF=n). L'autre est la convention utilisée par ton langage de programmation sur ton système.
Par exemple, sur Windows, les fichiers texte contiennent rn, mais la plupart des langages de programmation, dont le C et le PHP, travaillent sur des chaînes avec n seul. C'est au moment de l'envoi dans un fichier ou sur le réseau que la transformation n -> rn se fait ; inversement, lors de la réception d'un message, on a la transformation rn -> n.
Donc, si tu veux envoyer une chaîne qui contient en interne rn, la transformation au moment de l'envoi donnera (¹) rn -> rrn, ce qui est incorrect et pourrait poser des problèmes.
La norme dont je parlais (je pourrai retrouver le numéro de RFC au besoin) se fiche pas mal de la représentation interne et compte donc deux caractères par fin de ligne.
-- Olivier Miakinen (¹) « donnera » ou « pourra donner ». En effet, les r pourraient être supprimés avant conversion, ou les séquences rn pourraient être reconnues comme telles : tout dépend du convertisseur.