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.
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:
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:
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.
— John Klensin, RFC 5321
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]
Electronic mail is a method of transmitting and receiving messages using electronic devices. It was conceived in the late–20th century as the digital version of, or counterpart to, mail. Email is a ubiquitous and very widely used communication medium; in current use, an email address is often treated as a basic and necessary part of many processes in business, commerce, government, education, entertainment, and other spheres of daily life in most countries.
In computing, the Internet Message Access Protocol (IMAP) is an Internet standard protocol used by email clients to retrieve email messages from a mail server over a TCP/IP connection. IMAP is defined by RFC 9051.
In computing, the Post Office Protocol (POP) is an application-layer Internet standard protocol used by e-mail clients to retrieve e-mail from a mail server. Today, POP version 3 (POP3) is the most commonly used version. Together with IMAP, it is one of the most common protocols for email retrieval.
The Simple Mail Transfer Protocol (SMTP) is an Internet standard communication protocol for electronic mail transmission. Mail servers and other message transfer agents use SMTP to send and receive mail messages. User-level email clients typically use SMTP only for sending messages to a mail server for relaying, and typically submit outgoing email to the mail server on port 587 or 465 per RFC 8314. For retrieving messages, IMAP is standard, but proprietary servers also often implement proprietary protocols, e.g., Exchange ActiveSync.
An email client, email reader or, more formally, message user agent (MUA) or mail user agent is a computer program used to access and manage a user's email.
Extensible Messaging and Presence Protocol is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML, it enables the near-real-time exchange of structured data between two or more network entities. Designed to be extensible, the protocol offers a multitude of applications beyond traditional IM in the broader realm of message-oriented middleware, including signalling for VoIP, video, file transfer, gaming and other uses.
An email address identifies an email box to which messages are delivered. While early messaging systems used a variety of formats for addressing, today, email addresses follow a set of specific rules originally standardized by the Internet Engineering Task Force (IETF) in the 1980s, and updated by RFC 5322 and 6854. The term email address in this article refers to just the addr-spec in Section 3.4 of RFC 5322. The RFC defines address more broadly as either a mailbox or group. A mailbox value can be either a name-addr, which contains a display-name and addr-spec, or the more common addr-spec alone.
Greylisting is a method of defending e-mail users against spam. A mail transfer agent (MTA) using greylisting will "temporarily reject" any email from a sender it does not recognize. If the mail is legitimate, the originating server will try again after a delay, and if sufficient time has elapsed, the email will be accepted.
The Cyrus IMAP server is electronic mail server software developed by Carnegie Mellon University. It differs from other Internet Message Access Protocol (IMAP) server implementations in that it is generally intended to be run on sealed servers, where normal users cannot log in.
Email authentication, or validation, is a collection of techniques aimed at providing verifiable information about the origin of email messages by validating the domain ownership of any message transfer agents (MTA) who participated in transferring and possibly modifying a message.
A message submission agent (MSA), or mail submission agent, is a computer program or software agent that receives electronic mail messages from a mail user agent (MUA) and cooperates with a mail transfer agent (MTA) for delivery of the mail. It uses ESMTP, a variant of the Simple Mail Transfer Protocol (SMTP), as specified in RFC 6409.
Many email clients now offer some support for Unicode. Some clients will automatically choose between a legacy encoding and Unicode depending on the mail's content, either automatically or when the user requests it.
Sieve is a programming language that can be used for email filtering. It owes its creation to the CMU Cyrus Project, creators of Cyrus IMAP server.
In cryptography, CRAM-MD5 is a challenge–response authentication mechanism (CRAM) based on the HMAC-MD5 algorithm. As one of the mechanisms supported by the Simple Authentication and Security Layer (SASL), it is often used in email software as part of SMTP Authentication and for the authentication of POP and IMAP users, as well as in applications implementing LDAP, XMPP, BEEP, and other protocols.
Email forwarding generically refers to the operation of re-sending a previously delivered email to an email address to one or more different email addresses.
International email arises from the combined provision of internationalized domain names (IDN) and email address internationalization (EAI). The result is email that contains international characters, encoded as UTF-8, in the email header and in supporting mail transfer protocols. The most significant aspect of this is the allowance of email addresses in most of the world's writing systems, at both interface and transport levels.
SMTP Authentication, often abbreviated SMTP AUTH, is an extension of the Simple Mail Transfer Protocol (SMTP) whereby a client may log in using any authentication mechanism supported by the server. It is mainly used by submission servers, where authentication is mandatory.
Maildrop is a Mail delivery agent used by the Courier Mail Server. The maildrop Mail Delivery Agent (MDA) also includes filtering functionality.
A mailbox provider, mail service provider or, somewhat improperly, email service provider is a provider of email hosting. It implements email servers to send, receive, accept, and store email for other organizations or end users, on their behalf.
The JSON Meta Application Protocol (JMAP) is a set of related open Internet Standard protocols for handling email. JMAP is implemented using JSON APIs over HTTP and has been developed as an alternative to IMAP/SMTP and proprietary email APIs such as Gmail and Outlook. Additional protocols and data models being built on top of the core of JMAP for handling contacts and calendar synchronization are meant to be potential replacements for CardDAV and CalDAV, and other support is currently in the works.
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.