Pourquoi est-il si important que CR et LF apparaissent ensemble dans un e-mail?

StackOverflow https://stackoverflow.com/questions/497064

  •  20-08-2019
  •  | 
  •  

Question

De http://www.faqs.org/rfcs/rfc2822.html:

  

CR et LF NE DOIVENT apparaître que comme   CRLF; ils ne doivent pas apparaître   indépendamment dans le corps.

Nous avons un service Web qui envoie des courriels de confirmation, mais un de nos utilisateurs a fait remarquer que cela ne correspond pas à la norme rfc2822. Ma question est donc la suivante: pourquoi est-il important que CR et LF apparaissent ensemble dans les messages électroniques?

Était-ce utile?

La solution

Parce que dans le courrier électronique, CRLF est le séparateur de ligne. Si vous utilisez uniquement CR ou uniquement LF, vous rencontrerez toutes sortes de problèmes inattendus avec différents clients, combinaison de serveur SMTP. Certains serveurs rejetteront vos courriels, d’autres & «Réparer &»; vos emails. Les emails fixes sont parmi les plus amusants à gérer.

Autres conseils

Parce que c'est dans le RFC accepté?

Les implémentations sont dérivées de RFC. Si ce n'était pas le cas, il n'y aurait aucune garantie d'interopérabilité entre différentes mises en œuvre. Il peut y avoir ou non des raisons tangibles et techniques de les obliger à comparaître, mais dans ce cas, ces raisons ne sont pas pertinentes. C'est une simple question de & "; Parce qu'ils l'ont dit. &";

Pensez à un ancien téléscripteur. CR ramène la tête d'écriture au début de la ligne, LF avance le papier d'une ligne. Vous avez besoin des deux étapes pour commencer une nouvelle ligne. Si vous utilisez CR sans LF, vous écraserez le même texte, ce qui est bien entendu illégal.

Quoi qu’il en soit, c’est la raison historique pour définir CR + LF en tant que code ASCII pour une nouvelle ligne. Bien sûr, à la fin, ce ne sont que des codes arbitraires. Certains systèmes n'utilisent que le symbole CR pour indiquer une nouvelle ligne, certains systèmes n'utilisent que la LF, d'autres utilisent entièrement un caractère différent. La RFC2822 devait en choisir un et décidait de n'autoriser que la séquence CRLF.

Depuis que la RFC a décidé d’utiliser CRLF, il est logique de ne pas autoriser les CR ou les FL séparément, car ce serait plutôt inutile et problématique à gérer de toute façon.

Si vous vous retrouvez avec un CR, ce qui vous place sur la même ligne, alors quoi que vous écriviez se trouve en haut des caractères à gauche sur la même ligne, puis vient le LF et vous êtes dans une colonne vers au milieu et recommencez à écrire. Malpropre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top