OVH Cloud OVH Cloud

Retour de chariot dans les mail

2 réponses
Avatar
Geoffroy Hecquet
Bonjour,
J'utilise la classe PHPMailer pour générer un courrier électronique dont le contenu provient d'un formulaire.
Les utilisateurs d'EUDORA MAC reçoivent bien les retours de chariot tels qu'ils sont insérés dans le formulaire. Les
utilisateurs d'un WEB mail également. Mais deux utilisateurs (eux en PC) me signalent qu'ils reçoivent le mail en une
seule ligne ! (l'un des deux utilise Eudora et l'autre je ne sais pas).


Auriez-vous quelques idées ?

Remarque :

j'ai paramétré PHPMailer() avec les paramètres suivants

var $CharSet = "iso-8859-1";
var $ContentType = "text/plain";
var $Encoding = "base64";

Bien cordialement,

Geoffroy Hecquet

2 réponses

Avatar
Olivier Miakinen

J'utilise la classe PHPMailer pour générer un courrier électronique dont le contenu provient d'un formulaire.
Les utilisateurs d'EUDORA MAC reçoivent bien les retours de chariot tels qu'ils sont insérés dans le formulaire. Les
utilisateurs d'un WEB mail également. Mais deux utilisateurs (eux en PC) me signalent qu'ils reçoivent le mail en une
seule ligne ! (l'un des deux utilise Eudora et l'autre je ne sais pas).


<HS>
Je vois quatre lignes ci-dessus, mais vraiment *très* longues. Il serait
sympa de régler ton MT-NewsWatcher de façon qu'il limite à quelque chose
comme 72 caractères. D'ailleurs voici une règle pour t'y aider :
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----10---+----11---+----12

Par ailleurs, tu utilises des accents dans ton article, mais sans
préciser quel jeu de caractères est utilisé. Là encore ce serait bien
de configurer ton logiciel pour cela.
</HS>

Auriez-vous quelques idées ?


Ne connaissant pas PHPMailer, la seule chose que je peux te dire c'est
que les séparateurs de fin de ligne sont différents selon que tu es sur
Mac (CR seul), sur Unix (LF seul) ou sur PC (CR+LF).

En principe, un logiciel devant dialoguer avec le monde est censé
transformer le séparateur propre à la machine en séparateur « pour
Internet », c'est-à-dire CR+LF comme sur PC. Seulement, si tu encodes le
texte en Base64 comme si c'était du binaire, alors c'est à toi de faire
la transformation avant puisque les séparateurs se retrouvent encodés
comme le reste.

Donc, pose-toi d'abord la question de savoir pourquoi tu veux encoder du
texte en Base64. Si tu n'as pas une bonne raison, il vaut mieux ne pas
le faire (d'autant que le Base64 fait grossir ton texte de 33 %). Si au
contraire tu as une raison de le faire, alors tu dois remplacer tous les
"r" par des "rn" *avant* l'encodage.

Cordialement,
--
Olivier Miakinen
Troll du plus sage chez les conviviaux : le nouveau venu, avec
son clan, s'infiltre dans les groupes de nouvelles. (3 c.)

Avatar
Geoffroy Hecquet
Donc, pose-toi d'abord la question de savoir pourquoi tu veux encoder du
texte en Base64. Si tu n'as pas une bonne raison, il vaut mieux ne pas
le faire (d'autant que le Base64 fait grossir ton texte de 33 %). Si au
contraire tu as une raison de le faire, alors tu dois remplacer tous les
"r" par des "rn" *avant* l'encodage.

Cordialement,


Effectivement, "Base64" était un paramètre par défaut dans la class qui
m'est passé par dessus la tête. J'ai changé en 8bit et tout est réglé.
Merci.