RFCs 5321,5322和6531對驗證電子郵件地址有複雜的規則。他們:歷史上,爲什麼有關電子郵件地址的RFC變得如此複雜?
- 允許creating comments的電子郵件地址中
- 提供複雜的符號限制規則:
"() ,:;<>@[\]
- 治療
postmaster
的localpart爲不區分大小寫的,但所有其他區分大小寫 - 允許groups of email addresses
由於這些複雜的規則,測試給定的字符串是否是一個語法上有效的電子郵件地址根據th e RFC RFC僅使用正則表達式。
顯然,這些規則中的很多不受主要電子郵件提供商的支持。
從歷史上看,創建如此複雜的電子郵件地址規則的動機是什麼? Wikipedia article on the origins of email似乎意味着從二十世紀八十年代早期開始的現代標準旨在用他們特定的標準和語法覆蓋所有傳統的電子郵件系統。
但是,標準的實施者,電子郵件提供商和電子郵件最終用戶都對工作系統擁有既得利益,當規則不太神祕並且可以輕鬆投入到通過有限制的軟件時更容易實現測試的數量,那麼爲什麼我們今天有一個如此複雜的標準,沒有人完全使用它?
從歷史上看,XML在很大程度上被JSON所取代,其成功部分歸因於其語法的簡單性。
因爲RFC應該涵蓋所有邊緣情況,而不僅僅是「主要提供者」? – ceejayoz 2012-03-30 21:20:37
我認爲這是一個明智的和有效的問題,應該用歷史的後見證來討論。上面提到的RFC不是唯一的罪魁禍首;管理IP地址轉錄的有效方法的RFC同樣令人費解。有趣的是,在現實世界中,這些RFC中只有很小的一部分被積極使用 - 實際上所有的電子郵件地址看起來都像「name @ exxample.com」,並且所有的IP地址都是「123.234.231.132」。如果這個問題沒有過早結束,我們現在可以就這些高度複雜的RFC的優缺點和歷史背景進行熱烈的討論。 – flow 2014-04-04 11:46:52
雖然這是一個有趣而有效的(在更廣泛的軟件社區意義上)問題,但它不適合StackOverflow。 – JasonMArcher 2014-04-04 16:54:56