From Seo Wiki - Search Engine Optimization and Programming Languages
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
- 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).
- 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.
- 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.
- smtp.a.org sends the message to mx.b.org using SMTP, which delivers it to the mailbox of the user bob.
- 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
| This section needs additional citations for verification. Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (November 2007) </td> </tr> </table> [edit] Content encodingE-mail was originally designed for 7-bit ASCII.[25] Much e-mail software is 8-bit clean but must assume it will communicate with 8-bit servers and mail readers. The MIME standard introduced character set specifiers and two content transfer encodings to enable transmission of non-ASCII data: quoted printable for mostly 7 bit content with a few characters outside that range and base64 for arbitrary binary data. The 8BITMIME extension was introduced to allow transmission of mail without the need for these encodings but many mail transport agents still do not support it fully. In some countries, several encoding schemes coexist; as the result, by default, the message in a non-Latin alphabet language appears in non-readable form (the only exception is coincidence, when the sender and receiver use the same encoding scheme). Therefore, for international character sets, Unicode is growing in popularity. [edit] Plain text and HTMLMost modern graphic e-mail clients allow the use of either plain text or HTML for the message body at the option of the user. HTML e-mail messages often include an automatically-generated plain text copy as well, for compatibility reasons. Advantages of HTML include the ability to include inline links and images, set apart previous messages in block quotes, wrap naturally on any display, use emphasis such as underlines and italics, and change font styles. Disadvantages include the increased size of the email, privacy concerns about web bugs, abuse of HTML email as a vector for phishing attacks and the spread of malicious software.[26] Mailing lists commonly insist that all posts to be made in plain-text[27][28][29] for all the above reasons, but also because they have a significant number of readers using text-based e-mail clients such as Mutt. Some Microsoft e-mail clients have allowed richer formatting by using RTF rather than HTML, but unless the recipient is guaranteed to have a compatible e-mail client this should be avoided.[30] [edit] Servers and client applicationsFile:Mozilla thunderbird empty screenshot.png The interface of an e-mail client, Thunderbird. Messages are exchanged between hosts using the Simple Mail Transfer Protocol with software programs called mail transfer agents. Users can retrieve their messages from servers using standard protocols such as POP or IMAP, or, as is more likely in a large corporate environment, with a proprietary protocol specific to Lotus Notes or Microsoft Exchange Servers. Webmail interfaces allow users to access their mail with any standard web browser, from any computer, rather than relying on an e-mail client. Mail can be stored on the client, on the server side, or in both places. Standard formats for mailboxes include Maildir and mbox. Several prominent e-mail clients use their own proprietary format and require conversion software to transfer e-mail between them. Accepting a message obliges an MTA to deliver it, and when a message cannot be delivered, that MTA must send a bounce message back to the sender, indicating the problem. [edit] Filename extensionsUpon reception of e-mail messages, e-mail client applications save message in operating system files in the filesystem. Some clients save individual messages as separate files, while others use various database formats, often proprietary, for collective storage. A historical standard of storage is the mbox format. The specific format used is often indicated by special filename extensions:
Some applications (like Apple Mail) also encode attachments into messages for searching while also producing a physical copy of the files on a disk. Others separate attachments from messages by depositing them into designated folders on disk. [edit] URI scheme mailto:The URI scheme, as registered with the IANA, defines the mailto: scheme for SMTP email addresses. Though its use is not strictly defined, URLs of this form are intended to be used to open the new message window of the user's mail client when the URL is activated, with the address as defined by the URL in the "To:" field. [32] [edit] Use
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||