電子郵箱

電子郵件送遞的目的地

電子郵箱是傳遞電子郵件消息的目的地。它相當於郵政系統中的信箱

「電子郵箱」的各地常用名稱
中國大陸電子郵箱
臺灣電子信箱
港澳電子郵箱

定義

編輯

郵箱以電子郵件地址作為標識。但並非所有電子郵件地址都有對應的存儲設施。有時,也使用「偽郵箱」一詞來指代那些並無相應的明確郵件存儲的地址。電子郵件轉發英語Email forwarding可以通過這樣的地址送達最終收件人。郵件列表電子郵件別名英語Email alias都是典型的例子。

RFC 5321 將「電子郵件地址」定義為一個字符串,它可以標識一個郵件將要送達的用戶,或一個郵件將被保存的位置。「郵箱」一詞用來指保管者。在這個意義上說,「郵箱」和「地址」兩個詞是可以互換使用的。

RFC 5322 將「郵箱」定義如下:「郵箱接收郵件。它是一個『概念性實體』,並不一定非得涉及到文件儲存。」(A mailbox receives mail. It is a 'conceptual entity' that does not necessarily pertain to file storage.)它還進一步舉例說明,某些站點可能會選擇在打印機上打印郵件,並將紙質郵件遞送到收件人的桌上,就像傳統的傳真發送一樣。

訪問

編輯

對郵箱的訪問由郵箱提供商英語Mailbox provider控制。通常,任何人都可以將消息發送到一個郵箱,但只有經過驗證的用戶才可以從他們自己的郵箱中讀取或刪除郵件。電子郵件客戶端可以從一個或多個郵箱將消息取回。客戶端用來存儲消息的數據庫(文件、目錄、存儲系統)被稱為「本地郵箱」。

讀取

編輯

用於收取郵件的主流客戶端-服務器協議有:

  • 郵局協議(POP):一種最適宜從單一客戶端電腦上讀取消息的方法。通常,郵件被收取之後會從服務器郵箱中刪除。而郵件的正本被存儲在本地郵箱中。
  • 因特網信息訪問協議(IMAP):被設計為通過允許遠程管理服務器郵箱,以從多個客戶端收取郵件。正本被保留在服務器上,而本地可以保存一份副本。
  • 基於超文本傳輸協議(HTTP)的Webmail:郵件被以服務器定義的格式提供給用戶瀏覽器。正本留在服務器上,可能是以可下載的原始格式。

IMAP和Webmail或多或少都可以無縫地共同工作。POP如果配置為在服務器上保留副本,則也可以兼容。

因特網郵件格式,目前由 RFC 5322 定義,它可以追溯到1982年的 RFC 822。這也是POP和IMAP客戶端所期望的格式。

寫入

編輯

發送到郵箱的郵件,由郵件遞送代理英語Mail delivery agent寫入服務器的本地郵箱中。對遠程用戶來說,這是他們在該服務器上擁有的遠程郵箱。IMAP客戶端可以在遠程郵箱上複製、移動和刪除郵件。

郵箱空間

編輯

郵箱都有大小限制,或者由存儲空間隱式確定,或者對郵箱或文件夾有配額限制。除了管理方面的考慮,配額限制還有助於抑制電郵炸彈攻擊。[1]

IMAP對配額的擴展在1997年被標準化。[2]

存儲格式

編輯

任何一種數據庫都可以用來存儲電子郵件消息。然而,有些標準化已經導致若干眾所周知的文件格式允許不同的計算機程序訪問一個給定的郵箱。有兩種格式是被廣泛使用的:

  • Mbox英語Mbox是一種原始技術,它將所有消息存儲在一個單一文件中。
  • Maildir英語Maildir是一種較新的規範,它將所有消息存儲在一個目錄樹中,每一條消息存為一個文件。

郵箱名稱

編輯

郵箱名稱是電子郵件地址的第一部分,也稱為「域內部分」;也就是@符號前面的部分。其格式由 RFC 5322RFC 5321 正式指定。它往往是收件人在郵件服務器上,或目標域中的用戶名

域內部分最長可達64個字符,而且理論上是大小寫敏感的。它可以包括一個「有效字符」的序列(如下所述),或是一個用引號引住的字符串,其中還可以包含空格和特殊字符。如果使用SMTPUTF8擴展SMTP英語Extended SMTP,也可以使用非ASCII字符。[3]在創建新的郵箱名稱時,需要了解一些常識,以避免常見錯誤。在 RFC 5321 的描述中,對施加限制持非常謹慎態度:

While the above definition for Local-part is relatively permissive, for maximum interoperability, a host that expects to receive mail SHOULD avoid defining mailboxes where the Local-part requires (or uses) the Quoted-string form or where the Local-part is case-sensitive.[While 上面對域內部分的定義相對寬容,為了最大的互通性,接收郵件的主機定義的郵箱,「應當」避免域內部分要求(或使用)用引號引住字符串的形式或域內部分是大小寫敏感的。]

——John Klensin,RFC 5321

有效字符

編輯

以下字符可以出現在域內部分中,而不需要引號:

  • 大小寫英文字母(a–z、A–Z),及UTF-8序列(若使用SMTPUTF8)
  • 數字09
  • 字符! # $ % & ' * + - / = ? ^ _ ` { | } ~
  • 字符.(點),但不能出現在開頭或結尾,也不能連續出現兩次(例如John..Doe@example.com)

保留名稱

編輯

名稱「postmaster」、「abuse」和其它對應於眾所周知角色和職能的名稱,被要求保留。[4]

還有其它一些名稱會引起麻煩,可能是因為它們會與郵件軟件(某些部分)內部使用的名稱相衝突,包括電子郵件過濾英語Email filtering器,或因為底層存儲系統不允許。這樣的名單有很多,比如在GitHub上。[5][6][7]

參考文獻

編輯
  1. ^ Nick Christenson. A Highly Scalable Electronic Mail Service Using Open Systems [一種使用開放系統的高擴展性電子郵件服務]. USENIX. 1997-12-09 [2015-12-12] (英語). In addition to authentication and mailbox location, the mail delivery agent also knows about mailbox quotas which we impose on our subscribers. If the current mailbox size is over the quota for that user, the default being 10 MB, then the message is bounced back to the MTA with reason, "User npc, mailbox full." In addition to preventing resource abuse on the part of subscribers, this also helps mitigate possible damaging effects of mail bombing by malicious people on the Internet. We believe that a 10 MB quota is quite generous, especially considering over a 28.8 modem using very high quality line speeds and no network bottlenecks, one could expect to take over an hour to download the contents of a 10 MB mailbox.[除了認證和郵箱位置之外,郵件遞送代理還了解限制我們訂閱者的郵箱配額。如果當前的郵箱尺寸超過了給該用戶的配額,默認為10MB,那麼郵件會被退回消息傳輸代理,原因是「用戶網絡參數控制,郵箱已滿。」除了阻止對部分訂閱者的資源濫用之外,這還有助於抑制因特網上的惡意電郵炸彈可能帶來的損害。我們相信,10MB的配額已經很慷慨了,尤其考慮到,即使是非常高質量的網速,也沒有網絡瓶頸,通過28.8的調製解調器來下載10MB郵箱的內容也要花費一小時以上的時間。] 
  2. ^ RFC 2087
  3. ^ RFC 6531
  4. ^ RFC 2142
  5. ^ Casey O'Hara. A list of reserved usernames to avoid vanity URL collision with resource paths [為避免特殊URL與資源路徑相衝突的保留用戶名名單]. 2011 [2015-12-12]. (原始內容存檔於2022-04-08) (英語). 
  6. ^ Michael Mahemoff. Reserved username list [保留用戶名名單]. 2011 [2015-12-12]. (原始內容存檔於2022-04-08) (英語). 
  7. ^ ShouldBee. reserved-usernames [保留用戶名]. [2015-12-12]. (原始內容存檔於2020-11-11) (英語).