245 votes

Quel est l'objet de l'email limite de longueur?

Combien de caractères sont autorisés à être dans la ligne objet du courriel sur Internet? J'ai eu un scan de La RFC pour le courrier électronique , mais ne pouvait pas voir précisément combien de temps il a été autorisé à être. J'ai un collègue qui veut de programmation pour valider.

Si il n'y a pas de limite formelle, ce qui est d'une bonne longueur, dans la pratique, à suggérer? Cheers,

205voto

Michael Petrotta Points 35647

Voir la RFC 2822, section 2.1.1 pour commencer.

Il y a deux limites de cette standard des lieux sur le nombre de caractères sur une ligne. Chaque ligne de les caractères ne DOIVENT pas être à plus de 998 caractères et ne DOIT pas être plus 78 caractères, à l'exclusion de la CRLF.

Comme le RFC états par la suite, vous pouvez contourner cette limite (non pas que vous devriez) par pliage de l'objet sur plusieurs lignes.

Chaque champ d'en-tête est logiquement un seule ligne de caractères comprenant le nom du champ, le côlon, et le corps de champ. Pour des raisons de commodité, cependant, et de traiter avec le 998/78 caractère limitations par ligne, le corps de champ partie d'un champ d'en-tête peut être divisé en un multiple de la ligne de la représentation; ceci est appelé le "pliage". Le général la règle est que partout où cette norme permet de pliage de l'espace blanc (pas simplement WSP caractères), un CRLF peut être inséré avant tout WSP. Pour exemple, le champ d'en-tête:

       Subject: This is a test

peut être représenté par:

       Subject: This
        is a test

La recommandation pour pas plus de 78 caractères dans l'objet de l'en-tête semble raisonnable. On ne veut pas se défiler l'écran pour voir l'ensemble de la ligne d'objet, et quelque chose d'important peut être coupée sur la droite.

23voto

Jasen Points 247

RFC2322 états que le sujet de l'en-tête "n'a pas de restriction quant à la longueur"

mais pour produire de longues-têtes, mais vous avez besoin de le diviser en plusieurs lignes, un processus appelé "pliage".

l'objet est défini comme "non structurées" dans la RFC 5322

voici quelques citations ([...] indiquent trucs que j'ai omis)

3.6.5. Informational Fields
  The informational fields are all optional.  The "Subject:" and
  "Comments:" fields are unstructured fields as defined in section
  2.2.1, [...]

2.2.1. Unstructured Header Field Bodies
  Some field bodies in this specification are defined simply as
  "unstructured" (which is specified in section 3.2.5 as any printable
  US-ASCII characters plus white space characters) with no further
  restrictions.  These are referred to as unstructured field bodies.
  Semantically, unstructured field bodies are simply to be treated as a
  single line of characters with no further processing (except for
  "folding" and "unfolding" as described in section 2.2.3).

2.2.3  [...]  An unfolded header field has no length restriction and
  therefore may be indeterminately long.

5voto

Sergio Points 41

après quelques test: Si vous envoyez un e-mail à un client outlook, et le sujet est >77 caractères, et il a besoin d'utiliser "=?ISO" à l'intérieur de l'objet (dans mon cas, parce que les accents) puis OutLook "couper" le sujet dans le milieu de celui-ci et de la maille, il tout ce qui vient après, y compris le corps du texte, joint, etc... le tout d'un filet!

J'ai plusieurs exemples comme celui-ci:

Subject: =?ISO-8859-1?Q?Actas de la obra N=BA.20100154 (Expediente N=BA.20100182) "NUEVA RED FERROVIARIA.=

TRAMO=20BEASAIN=20OESTE(Pedido=20PC10/00123-125),=20BEASAIN".?=

Pour:

Comme vous le voyez, dans la ligne de sujet, il coupées sur char 78 avec un "=" suivi par 2 ou 3 retours à la ligne, puis a continué avec le reste de l'objet baddly.

Il m'a été signalé par plusieurs clients, qui, tous, où à l'aide d'OutLook, d'autres clients de messagerie traitent de ces sujets ok.

Si vous n'avez pas d'ISO, il ne fait pas de mal, mais si vous l'ajoutez à votre sujet pour être agréable à la RFC, puis vous obtenez ce surprise partir d'OutLook. Peu si vous n'ajoutez pas les ISOs, puis iPhone e-mail ne sera pas à comprendre(et joindre des fichiers avec des noms en utilisant ces caractères ne fonctionnera pas sur les iPhones).

2voto

Ed Altorfer Points 3392

Je ne crois pas qu'il y est une limite formelle, ici, et je suis assez sûr il n'y a pas de limite spécifiée dans la RFC soit, comme vous l'avez trouvé.

Je pense que certains assez fréquent que les limitations pour les lignes d'objet en général (et pas seulement e-mail):

  • De 80 Caractères
  • 128 Caractères
  • 256 Caractères

Évidemment, vous voulez venir avec quelque chose qui est raisonnable. Si vous êtes à la rédaction d'un client e-mail, vous pouvez aller avec quelque chose comme de 256 caractères, et bien évidemment de tester à fond contre les gros serveurs commerciaux là pour s'assurer qu'elles servent vos messages correctement.

Espérons que cette aide!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X