跳转到内容

电子邮箱

本页使用了标题或全文手工转换
维基百科,自由的百科全书
“电子邮箱”的各地常用名称
中国大陆电子邮箱
台湾电子信箱
港澳电子邮箱

电子邮箱是传递电子邮件消息的目的地。它相当于邮政系统中的信箱

定义

邮箱以电子邮件地址作为标识。但并非所有电子邮件地址都有对应的存储设施。有时,也使用“伪邮箱”一词来指代那些并无相应的明确邮件存储的地址。电子邮件转发英语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
  • 字符! # $ % & ' * + - / = ? ^ _ ` { | } ~
  • 字符.(点),但不能出现在开头或结尾,也不能连续出现两次(例如[email protected]

保留名称

名称“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) (英语).