互聯網電子郵件的主題行中允許有多少個字符? 我掃描了The RFC for email,但無法具體查看允許的時間。 我有一個想以編程方式驗證它的同事。什麼是電子郵件主題長度限制?
如果沒有正式限制,實踐中建議的長度是多少? 乾杯,
互聯網電子郵件的主題行中允許有多少個字符? 我掃描了The RFC for email,但無法具體查看允許的時間。 我有一個想以編程方式驗證它的同事。什麼是電子郵件主題長度限制?
如果沒有正式限制,實踐中建議的長度是多少? 乾杯,
請參閱RFC 2822,第2.1.1節開始。
這個 標準將 個字符放在一行中有兩個限制。每行 個字符必須不超過998個 個字符,並且應該不超過78個字符,不包括CRLF。
隨着RFC的發展,您可以通過將主題摺疊到多行來解決此限制(不是您應該的)。
每個報頭字段是邏輯上包括 字段名稱,結腸,和 場體字符的 單行。然而,爲了方便起見,並且爲了處理每行限制998/78字符的限制,可以將標題字段的字段主體 部分拆分爲多行表示;這被稱爲「摺疊」。通用的 規則是,無論標準 允許摺疊空白區域(不是 簡單的WSP字符),在任何WSP之前插入的CRLF可以是 。對於 例如,報頭字段:
Subject: This is a test
可以被表示爲:
Subject: This is a test
在主題標頭不超過78個字符的建議聽起來很合理。沒有人想滾動查看整個主題行,而重要的東西可能會被切斷。
我不認爲這裏有一個正式的限制,而且我敢肯定在RFC中沒有任何硬限制,正如你發現的那樣。
我認爲,對於一般的主題行一些很常見的限制(而不僅僅是電子郵件)是:
顯然,你想拿出一些合理的東西。如果你正在編寫一個電子郵件客戶端,你可能想要使用類似256個字符的東西,而且顯然要對付大型商業服務器,以確保它們正確地爲你的郵件提供服務。
希望這會有所幫助!
沒有什麼特別的理由說明爲什麼256比250或300或者372更好。我們早已將字節用於字符串長度。 – 2009-10-20 03:46:50
我同意你的實際用途,但我認爲256比你提到的其他一些選項更好,因爲它與其他產品更一致。 – 2009-10-20 04:37:16
255是一些產品的實際限制(例如Jira和Outlook) – reconbot 2011-01-12 15:37:31
經過一番測試:如果您發送電子郵件到Outlook客戶端,並且主題大於77個字符,並且需要在主題內部使用"=?ISO"
(在我的情況下,因爲有重音符號),OutLook會「剪切」在它的中間主題和網格它所有後來,包括身體的文字,附加等...所有的網格!
我有幾個實例類似這樣的:
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".?=
到:
正如所看到的,在主題行它板缺對char 78用「=」隨後加入2或3線供給然後繼續討論其他主題。
這是從幾個客戶誰使用OutLook,其他電子郵件客戶端處理這些主題的報告給我好。
如果你沒有ISO,它不會受到傷害,但是如果你將它添加到你的主題以便對RFC更好,那麼你會從OutLook中獲得這個驚喜。如果你不添加ISO,那麼iPhone電子郵件將無法理解它(並且使用這些字符附加名稱的文件在iPhones上不起作用)。
您設置的主題有許多問題:1.空格應該用'_'編碼,2.'編碼字'(=?字符集?Q/B?數據?=)不得超過75個字符長(rfc2047)。第3行你不能在行尾使用'='字符來換行(頭部QP編碼與身體QP不同)。底線是:這不是Outlook的錯。 – 2012-11-30 12:38:16
RFC2322指出主題標題「沒有長度限制」
但以產生長頭,但需要將其多行分裂,稱爲「摺疊」的處理。
主題在RFC定義爲「非結構化」 5322
這裏的一些報價([...]表明的東西,我省略)
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.
255是一些票務產品的限制(吉拉例如)並且似乎是outlook的限制,thunderbird和gmail似乎在130之後截斷。 – reconbot 2011-01-12 15:39:40
RFC2047更適合驗證,我看到很多批量郵件軟件會產生無效的RFC2047內容。 – Jasen 2014-08-08 00:37:09
在數據庫中,非常常見(可以說是一種傳統),將不特別長或短的文本字段的長度定義爲VARCHAR(255)或類似的等效名稱。如果呈現更長的字符串,則會產生錯誤或者僅僅被截斷到極限。這就是爲什麼這裏提到的Jira和Outlook不支持更多字符的原因。爲了兼容性的原因,我不推薦255+ 只需在5歲的蛋糕上添加一些面霜;) – 2014-12-09 11:11:35