e-mail

From Seo Wiki - Search Engine Optimization and Programming Languages

Jump to: navigation, search

Electronic mail, most commonly abbreviated email and e-mail, is a method of exchanging digital messages. E-mail systems are based on a store-and-forward model in which e-mail computer server systems accept, forward, deliver and store messages on behalf of users, who only need to connect to the e-mail infrastructure, typically an e-mail server, with a network-enabled device for the duration of message submission or retrieval. Originally, e-mail was always transmitted directly from one user's device to another's; nowadays this is rarely the case.

An electronic mail message consists of two components, the message header, and the message body, which is the email's content. The message header contains control information, including, minimally, an originator's email address and one or more recipient addresses. Usually additional information is added, such as a subject header field.

Originally a text-only communications medium, email was extended to carry multi-media content attachments, which were standardized in with RFC 2045 through RFC 2049, collectively called, Multipurpose Internet Mail Extensions (MIME).

The foundation for today's global Internet e-mail service was created in the early ARPANET and standards for encoding of messages were proposed as early as 1973 (RFC 561). An e-mail sent in the early 1970s looked very similar to one sent on the Internet today. Conversion from the ARPANET to the Internet in the early 1980s produced the core of the current service.

Network-based email was initially exchanged on the ARPANET in extensions to the File Transfer Protocol (FTP), but is today carried by the Simple Mail Transfer Protocol (SMTP), first published as Internet standard 10 (RFC 821) in 1982. In the process of transporting email messages between systems, SMTP communicates delivery parameters using a message envelope separately from the message (headers and body) itself.

Contents

[edit] Spelling

There are several spelling variations that are occasionally the cause of vehement disagreement.[1][2]

email is the form officially required by IETF Request for Comments and working groups[3] and is also recognized in most dictionaries.[4][5][6][7][8][9]
e-mail is a form still recommended by some prominent journalistic and technical style guides. [10][11]
mail was the form used in the original RFC. The service is referred to as mail and a single piece of electronic mail is called a message.[12][13][14]
eMail, capitalizing only the letter M, was common among ARPANET users and early developers from Unix, CMS, AppleLink, eWorld, AOL, GEnie, and Hotmail.[citation needed]
EMail is a traditional form that has been used in RFCs for the "Author's Address"[13][14], and is expressly required "...for historical reasons...".[15]

[edit] Origin

Electronic mail predates the inception of the Internet, and was in fact a crucial tool in creating the Internet.

MIT first demonstrated the Compatible Time-Sharing System (CTSS) in 1961.[16] It allowed multiple users to log into the IBM 7094[17] from remote dial-up terminals, and to store files online on disk. This new ability encouraged users to share information in new ways. E-mail started in 1965 as a way for multiple users of a time-sharing mainframe computer to communicate. Although the exact history is murky, among the first systems to have such a facility were SDC's Q32 and MIT's CTSS.

[edit] Host-based mailsystems

The original email systems allowed communication only between users who logged into the one host or "mainframe", but this could be hundreds or thousands of users within a company or university. By 1966 (or earlier, it is possible that the SAGE system had something similar some time before), such systems allowed email between different companies as long as they ran compatible operating systems, but not to other dissimilar systems.

Examples include BITNET, IBM PROFS, Digital Equipment Corporation ALL-IN-1 and the original Unix mail.

[edit] LAN-based mailsystems

From the early 1980s networked personal computers on LANs became increasingly important - and server-based systems similar to the earlier mainframe systems developed, and again initially allowed communication only between users logged into the one server, but these also could generally be linked between different companies as long as they ran the same email system and (proprietary) protocol.

Examples include cc:Mail, WordPerfect Office, Microsoft Mail, Banyan VINES and Lotus Notes - with various vendors supplying gateway software to link these incompatible systems.

[edit] Attempts at Interoperability

  • Novell briefly championed the open MHS protocol
  • uucp was used as an open "glue" between differing mail systems
  • The Coloured Book protocols on UK academic networks until 1992
  • X.400 in the early 1990s was mandated for government use under GOSIP but almost immediately abandoned by all but a few — in favour of Internet SMTP

[edit] From SNDMSG to MSG

In the early 1970's Ray Tomlinson updated an existing utility called SNDMSG so that it could copy files over the network. Lawrence Roberts, the project manager for the ARPANET development, updated READMAIL and called the program RD. Barry Wessler then updated RD and called it NRD.

Marty Yonke combined SNDMSG and NRD to include reading, sending, and a help system, and called the utility WRD. John Vittal then updated this version to include message forwarding and an Answer command to create replies with the correct address, and called it MSG. With inclusion of these features, MSG is considered to be the first modern email program, from which many other applications have descended. [18]

[edit] The rise of ARPANET-based mail

The ARPANET computer network made a large contribution to the development of e-mail. There is one report that indicates experimental inter-system e-mail transfers began shortly after its creation in 1969.[19] Ray Tomlinson is credited by some as having sent the first email, initiating the use of the "@" sign to separate the names of the user and the user's machine in 1971, when he sent a message from one Digital Equipment Corporation DEC-10 computer to another DEC-10. The two machines were placed next to each other.[20][21] The ARPANET significantly increased the popularity of e-mail, and it became the killer app of the ARPANET.

Most other networks had their own email protocols and address formats; as the influence of the ARPANET and later the Internet grew, central sites often hosted email gateways that passed mail between the Internet and these other networks. Internet email addressing is still complicated by the need to handle mail destined for these older networks. Some well-known examples of these were UUCP (mostly Unix computers), BITNET (mostly IBM and VAX mainframes at universities), FidoNet (personal computers), DECNET (various networks) and CSNet a forerunner of NSFNet.

An example of an Internet email address that routed mail to a user at a UUCP host:

 hubhost!middlehost!edgehost!user@uucpgateway.somedomain.example.com 

This was necessary because in early years UUCP computers did not maintain (or consult servers for) information about the location of all hosts they exchanged mail with, but rather only knew how to communicate with a few network neighbors; email messages (and other data such as Usenet News) were passed along in a chain among hosts who had explicitly agreed to share data with each other.

[edit] Operation overview

The diagram to the right shows a typical sequence of events[22] that takes place when Alice composes a message using her mail user agent (MUA). She enters the e-mail address of her correspondent, and hits the "send" button. File:Email.svg

  1. Here MUA formats the message in e-mail format and uses the Simple Mail Transfer Protocol (SMTP) to send the message to the local mail transfer agent (MTA), in this case smtp.a.org, run by Alice's Internet Service Provider (ISP).
  2. The MTA looks at the destination address provided in the SMTP protocol (not from the message header), in this case bob@b.org. An Internet e-mail address is a string of the form localpart@exampledomain. The part before the @ sign is the local part of the address, often the username of the recipient, and the part after the @ sign is a domain name or a fully qualified domain name. The MTA resolves a domain name to determine the fully qualified domain name of the mail exchange server in the Domain Name System.
  3. The DNS server for the b.org domain, ns.b.org, responds with any MX records listing the mail exchange servers for that domain, in this case mx.b.org, a server run by Bob's ISP.
  4. smtp.a.org sends the message to mx.b.org using SMTP, which delivers it to the mailbox of the user bob.
  5. Bob presses the "get mail" button in his MUA, which picks up the message using the Post Office Protocol (POP3).

That sequence of events applies to the majority of e-mail users. However, there are many alternative possibilities and complications to the e-mail system:

  • Alice or Bob may use a client connected to a corporate e-mail system, such as IBM Lotus Notes or Microsoft Exchange. These systems often have their own internal e-mail format and their clients typically communicate with the e-mail server using a vendor-specific, proprietary protocol. The server sends or receives e-mail via the Internet through the product's Internet mail gateway which also does any necessary reformatting. If Alice and Bob work for the same company, the entire transaction may happen completely within a single corporate e-mail system.
  • Alice may not have a MUA on her computer but instead may connect to a webmail service.
  • Alice's computer may run its own MTA, so avoiding the transfer at step 1.
  • Bob may pick up his e-mail in many ways, for example using the Internet Message Access Protocol, by logging into mx.b.org and reading it directly, or by using a webmail service.
  • Domains usually have several mail exchange servers so that they can continue to accept mail when the main mail exchange server is not available.
  • E-mail messages are not secure if e-mail encryption is not used correctly.

Many MTAs used to accept messages for any recipient on the Internet and do their best to deliver them. Such MTAs are called open mail relays. This was very important in the early days of the Internet when network connections were unreliable. If an MTA couldn't reach the destination, it could at least deliver it to a relay closer to the destination. The relay stood a better chance of delivering the message at a later time. However, this mechanism proved to be exploitable by people sending unsolicited bulk e-mail and as a consequence very few modern MTAs are open mail relays, and many MTAs don't accept messages from open mail relays because such messages are very likely to be spam.

[edit] Message format

The Internet e-mail message format is defined in RFC 5322 and a series of RFCs, RFC 2045 through RFC 2049, collectively called, Multipurpose Internet Mail Extensions, or MIME. Although as of July 13, 2005, RFC 2822 is technically a proposed IETF standard and the MIME RFCs are draft IETF standards,[23] these documents are the standards for the format of Internet e-mail. Prior to the introduction of RFC 2822 in 2001, the format described by RFC 822 was the standard for Internet e-mail for nearly 20 years; it is still the official IETF standard. The IETF reserved the numbers 5321 and 5322 for the updated versions of RFC 2821 (SMTP) and RFC 2822, as it previously did with RFC 821 and RFC 822, honoring the extreme importance of these two RFCs. RFC 822 was published in 1982 and based on the earlier RFC 733 (see[24]).

Internet e-mail messages consist of two major sections:

  • Header — Structured into fields such as summary, sender, receiver, and other information about the e-mail.
  • Body — The message itself as unstructured text; sometimes containing a signature block at the end. This is exactly the same as the body of a regular letter.

The header is separated from the body by a blank line.

[edit] Message header

Each message has exactly one header, which is structured into fields. Each field has a name and a value. RFC 5322 specifies the precise syntax.

Informally, each line of text in the header that begins with a printable character begins a separate field. The field name starts in the first character of the line and ends before the separator character ":". The separator is then followed by the field value (the "body" of the field). The value is continued onto subsequent lines if those lines have a space or tab as their first character. Field names and values are restricted to 7-bit ASCII characters. Non-ASCII values may be represented using MIME encoded words.

[edit] Header fields

The message header should include at least the following fields:

  • From: The e-mail address, and optionally the name of the author(s). In many e-mail clients not changeable except through changing account settings.
  • To: The e-mail address(es), and optionally name(s) of the message's recipient(s). Indicates primary recipients (multiple allowed), for secondary recipients see Cc: and Bcc: below.
  • Subject: A brief summary of the topic of the message. Certain abbreviations are commonly used in the subject, including "RE:" and "FW:".
  • Date: The local time and date when the message was written. Like the From: field, many email clients fill this in automatically when sending. The recipient's client may then display the time in the format and time zone local to her.
  • Message-ID: Also an automatically generated field; used to prevent multiple delivery and for reference in In-Reply-To: (see below).

Note that the "To:" field is not necessarily related to the addresses to which the message is delivered. The actual delivery list is supplied separately to the transport protocol, SMTP, which may or may not originally have been extracted from the header content. The "To:" field is similar to the addressing at the top of a conventional letter which is delivered according to the address on the outer envelope. Also note that the "From:" field does not have to be the real sender of the e-mail message. One reason is that it is very easy to fake the "From:" field and let a message seem to be from any mail address. It is possible to digitally sign e-mail, which is much harder to fake, but such signatures require extra programming and often external programs to verify. Some Internet service providers do not relay e-mail claiming to come from a domain not hosted by them, but very few (if any) check to make sure that the person or even e-mail address named in the "From:" field is the one associated with the connection. Some Internet service providers apply e-mail authentication systems to e-mail being sent through their MTA to allow other MTAs to detect forged spam that might appear to come from them.

RFC 3864 describes registration procedures for message header fields at the IANA; it provides for permanent and provisional message header field names, including also fields defined for MIME, netnews, and http, and referencing relevant RFCs. Common header fields for email include:

  • Bcc: Blind Carbon Copy; addresses added to the SMTP delivery list but not (usually) listed in the message data, remaining invisible to other recipients.
  • Cc: Carbon copy; Many e-mail clients will mark e-mail in your inbox differently depending on whether you are in the To: or Cc: list.
  • Content-Type: Information about how the message is to be displayed, usually a MIME type.
  • In-Reply-To: Message-ID of the message that this is a reply to. Used to link related messages together.
  • Precedence: commonly with values "bulk", "junk", or "list"; used to indicate that automated "vacation" or "out of office" responses should not be returned for this mail, eg. to prevent vacation notices from being sent to all other subscribers of a mailinglist.
  • Received: Tracking information generated by mail servers that have previously handled a message, in reverse order (last handler first).
  • References: Message-ID of the message that this is a reply to, and the message-id of the message the previous was reply a reply to, etc.
  • Reply-To: Address that should be used to reply to the message.
  • Sender: Address of the actual sender acting on behalf of the author listed in the From: field (secretary, list manager, etc.).
  • X-Face: Small icon.

[edit] Message body

Personal tools

Served in 4.384 secs.