A mailbox[1] (also electronic mailbox,[1] email box, email mailbox, e-mailbox) is the destination to which electronic mail messages are delivered.It is the equivalent of a letter box in the postal system.
A mailbox is identified by an email address. However, not all email addresses correspond to a storage facility. The term pseudo-mailbox is sometimes used to refer to an address that does not correspond to a definitive mail store. Email forwarding may be applied to reach end recipients from such addresses. Electronic mailing lists and email aliases are typical examples.
RFC 5321,[2] defines an email address as a character string that identifies a user to whom mail will be sent or a location into which mail will be deposited. The term mailbox refers to that depository. In that sense, the terms mailbox and address can be used interchangeably.
RFC 5322 defines a mailbox as follows:[3] A mailbox receives mail. It is a 'conceptual entity' that does not necessarily pertain to file storage. It further exemplifies that some sites may choose to print mail on a printer and deliver the output to the addressee's desk, much like a traditional fax transmission.
See main article: Email client. Access to a mailbox is controlled by a mailbox provider. Usually, anyone can send messages to a mailbox while only authenticated users can read or delete from their own mailboxes. An email client retrieves messages from one or more mailboxes. The database (file, directory, storage system) in which the client stores the messages is called the local mailbox.
Popular client–server protocols to retrieve messages are:
IMAP and webmail can go along with each other more or less seamlessly. POP, if configured to leave messages on server, can be compatible with them.
Internet message format, currently defined by RFC 5322, dates back to 1982 (RFC 822). That is what POP and IMAP clients expect to retrieve.
Messages sent to a mailbox are written by a mail delivery agent into the server's local mailbox, which, for remote users, is a remote mailbox that they own on that server. IMAP clients can copy, move, and delete messages in remote mailboxes.
Mailboxes have a size limit, either determined implicitly by available memory, or after quota definitions for that mailbox or folders thereof. Besides administrative trivia, quota limits help mitigate email bomb attacks.[4]
An IMAP extension for quota was standardized in 1997.[5]
Any kind of database can be used to store email messages. However, some standardization has resulted in several well-known file formats to allow access to a given mailbox by different computer programs. There are two kinds of widely used formats:
See main article: Email address. A mailbox name is the first part of an email address, also known as local-part; that is, the part before the @ symbol. Its format is formally specified by RFC 5322 and RFC 5321. It is often the username of the recipient on the mail server or in the destination domain.
The local-part may be up to 64 characters long and, in theory, is case-sensitive. It can consist of either a sequence of valid characters (described below) or a quoted string, which can also contain spaces and special characters. Using SMTPUTF8 extension of SMTP it is also possible to use non-ASCII characters.[6] Some common sense is needed when creating new mailbox names, in order to avoid common pitfalls. In the words of RFC 5321, very wary of imposing restrictions:
The following characters may appear in a local-part without quoting:
0
to 9
! # $ % & ' * + - / = ? ^ _ ` { | } ~
.
(dot) provided that it is not the first or last character, and provided also that it does not appear two or more times consecutively (e.g. John..Doe@example.com).The names "postmaster", "abuse", and others correspond to well-known roles and functions, and are required to be valid.[7]
Some names are known to cause troubles, possibly because they conflict with names used internally by (some parts of) the mail software, including mail filters, or because the underlying storage system chokes on them. A number of lists exist, for example on GitHub.[8] [9]