it-swarm.com.de

Was ist die E-Mail-Betrefflänge?

Wie viele Zeichen dürfen in der Betreffzeile der Internet-E-Mail stehen? Ich hatte einen Scan von The RFC nach E-Mail , konnte aber nicht genau sehen, wie lange es sein durfte ..__ Kollege, der dafür programmgesteuert validieren möchte.

Wenn es keine formale Begrenzung gibt, was ist eine gute Länge in der Praxis, um dies vorzuschlagen?

204
Scott Ferguson

Zum Starten siehe RFC 2822 , Abschnitt 2.1.1.

Es gibt zwei Grenzen, die diese Standardplätze auf die Anzahl von Zeichen in einer Zeile. Jede Zeile von Zeichen MÜSSEN nicht mehr als 998 sein Zeichen und SOLLTE nicht mehr als .__ sein. 78 Zeichen ohne CRLF.

Wie der RFC später sagt, können Sie dieses Limit umgehen (nicht das Sie sollten), indem Sie den Betreff über mehrere Zeilen falten.

Jedes Headerfeld ist logisch ein einzelne Zeichenzeile bestehend aus der Feldname, der Doppelpunkt und die Feldkörper. Der Einfachheit halber jedoch und um mit dem 998/78-Zeichen umzugehen Einschränkungen pro Zeile, der Feldkörper Teil eines Header-Feldes kann geteilt werden in eine mehrzeilige Darstellung; Dies wird als "Faltung" bezeichnet. Die allgemeine Regel ist, dass, wo immer dieser Standard erlaubt das Falzen von Leerzeichen (nicht einfach WSP-Zeichen), eine CRLF kann .__ sein. vor einem WSP eingefügt. Zum Beispiel das Headerfeld:

       Subject: This is a test

kann dargestellt werden als:

       Subject: This
        is a test

Die Empfehlung für nicht mehr als 78 Zeichen in der Betreffzeile erscheint vernünftig. Niemand möchte blättern, um die gesamte Betreffzeile zu sehen, und etwas Wichtiges könnte rechts abgeschnitten werden.

177

RFC2322 besagt, dass der Betreff-Header "keine Längenbeschränkung hat"

um lange Kopfzeilen zu erzeugen, müssen Sie sie jedoch auf mehrere Zeilen aufteilen. Dies wird als "Faltung" bezeichnet.

subject ist in RFC 5322 als "unstrukturiert" definiert

hier sind einige Anführungszeichen ([...] weisen auf Dinge hin, die ich ausgelassen habe)

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.
14
Jasen

nach einem Test: Wenn Sie eine E-Mail an einen Outlook-Client senden und der Betreff> 77 Zeichen ist und er "=?ISO" innerhalb des Betreffs verwenden muss (in meinem Fall wegen Akzente), schneidet Outlook den Betreff in der Mitte davon und Mesh alles, was danach kommt, einschließlich Körpertext, Anhänge usw. ... alles ein Mesh!

Ich habe mehrere Beispiele wie dieses:

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".?=

Zu:

Wie Sie sehen, wurde in der Betreffzeile auf Zeichen 78 ein "=" gefolgt von 2 oder 3 Zeilenvorschübe geschnitten, und dann mit dem Rest des Betreffs baddly fortgefahren.

Es wurde mir von mehreren Kunden berichtet, die alle mit Outlook und anderen E-Mail-Clients mit diesen Themen umgehen.

Wenn Sie kein ISO-Zertifikat haben, tut es nicht weh, aber wenn Sie es zu Ihrem Betreff hinzufügen, um "Nice to RFC" zu sein, erhalten Sie diese Überraschung von Outlook. Wenn Sie die ISOs nicht hinzufügen, wird die E-Mail-Adresse des iPhones nicht verstanden (und Anhängen von Dateien mit Namen, die solche Zeichen verwenden, funktionieren auf iPhones nicht).

4
Sergio

Ich glaube nicht, dass es hier ein formales Limit gibt, und ich bin mir ziemlich sicher, dass im RFC auch kein hartes Limit angegeben ist, wie Sie herausgefunden haben.

Ich denke, dass einige allgemeine Einschränkungen für Betreffzeilen im Allgemeinen (nicht nur für E-Mail) gelten:

  • 80 Zeichen
  • 128 Zeichen
  • 256 Zeichen

Natürlich möchten Sie sich etwas einfallen lassen, das vernünftig ist. Wenn Sie einen E-Mail-Client schreiben, sollten Sie etwa 256 Zeichen verwenden und offensichtlich große kommerzielle Server testen, um sicherzustellen, dass sie Ihre E-Mails korrekt abwickeln.

Hoffe das hilft!

2
Ed Altorfer

Wichtig ist, welchen Mechanismus Sie zum Senden der E-Mail verwenden. Die meisten modernen Bibliotheken (d. H. System.Net.Mail) verbergen die Faltung vor Ihnen. Geben Sie einfach eine sehr lange Betreffzeile für E-Mails ohne (CR, LF, HTAB) ein. Wenn Sie versuchen, selbst zu klappen, sind alle Wetten deaktiviert. Es werden Fehler gemeldet. Wenn Sie also dieses Problem haben, filtern Sie einfach CR, LF, HTAB heraus und lassen Sie die Bibliothek die Arbeit für Sie erledigen. Sie können den Kodierungstexttyp normalerweise auch als separates Feld festlegen. Keine Isocodierung in der Betreffzeile erforderlich. 

0
kariato