Introduction
It can take days to send a letter across the country and weeks to go around the world. To save time and money, more and more people are using electronic mail. It's fast, it's easy and it's cheaper than the post office. So what is e-mail? In its simplest form, e-mail is an electronic message sent from one computer to another. You can send or receive personal and business-related messages with attachments like pictures or other documents. You can even send computer programs.
Just as a letter makes stops at different postal stations along its way, e-mail passes from one computer to another as it travels along the network. Each computer reads the e-mail address, then routes it to another computer until it eventually reaches its destination. It's then stored in an electronic mailbox. With the Internet, this whole process usually takes just a few minutes, allowing you to quickly and easily communicate with millions of people around the world anytime of the day or night, for the cost of a local phone call.
Let's say you have a small business with sales reps working around the country. How do you stay connected without spending a fortune? Internet e-mail is the way to go. The Internet allows you to communicate in a way that used to be possible only for huge corporations. It's no wonder e-mail has become one of the most popular uses of the Internet.
You can send e-mail to anyone who has an e-mail address, anywhere in the world. Remember, almost all Internet service providers (ISPs) and all major online services offer an e-mail address with every account.
Until recently, e-mail on the Internet was good only for short notes. You couldn't send attachment like formatted documents or graphics. With the advent of MIME, which stands for Multipurpose Internet Mail Extension, and other types of encoding schemes, such as [ UUENCOD: which converts a binary file to text ],not only can you send messages electronically, but you can also send formatted documents, photos, sound files, and video files as attachments. Just make sure that the person you are sending attachments to has e-mail software capable of decoding the attachment you want to send.
The beauty of e-mail is that even if you have limited access to the Internet, you can still take advantage of the many services available (ftp, archie, mailing lists, etc.) if you have an e-mail account.
Electronic mail is the most visible application of distributed computing in use today. electronic mail relies on the simple premise that if two computer systems can exchange infomation with each other, they can also provide an information transporting mechanism that can be used to exchange human readable, interpersonal messages between the end user of those computer systems.
Electronic mail is the first application of computer networking accessible to all regardless of thier level of technical expertise.
Electronic mail systems are typically characterized by two major components :-
1- A set of facilities to create and display electronci messages in human readable form.
2- A set of facilities to relizbly transport information from one user to another.
A major requirement of any electronic mail system, even in its simplest form, is that the complexity of Transporting information remains completely transparent to the end user. Ideally, this means that the user who are creating and sending electronic messages should not need to know any thing about the underlying network environment.
Electronic mail offers some important advantages over more traditional forms of interpersonal communication :-
1) Electronic mail is asynchronous :-
That is, electronic mail allows information to be transferred between two parties in a storeand- forward manner without requiring the recipient of the message to be on - line when the message arrives. This is ectremely useful in business environments, because it allows information to be exchanged without requiring a simulataneous ression between two parties.
2) Electronica mail supports one-to-one as well as on-to- many information exchanges :-
In most of today’s electronic mail systems it is as straight forward to address a single mail message to a wide number of recipients, potentially located in disparate geographical locations, as it is to address the message to a single recipient.
3) Electronic mail can be intergrated with other office applications :-
Electronic messaging systems run on computer systems that also support agreat variety of other applications from spreadsheets to rophisticated document management and retrieval systems. Integrating these applications with the messaging function enhances a user’s overall ability to access, manipulate, and transfer information.
Email and virtual enterprise
Networked Integrated Virtual
work groups organization Industries
E-mail Enables lo cal E-mail actsin a E-mail provides
and global teams support role to the circulatory
using Interpersonal Integrated Information system to
messaging, work flow systems for connect tighty
and mail- Enabled maufacturing linked webs
applications finance of trading panteners
customer service customers, and suppliers
The use of Email :--
3- electronic data interchange (EDI)
Exchange OF formatted trad data and busines documents can achieve dramatic saving and productivity improvements .
4- higher level of customer service .
The new faces of email
now , email tachnologies advancing along there trends
1- multimidia messaging :-
the term multimidia messaging has been used after about sometimes in an unclear manner the next stage -e-mail’s transition to amedium for exchanging sound and vidio information multmidia message conveyance :concesns how the message travels an e- mail message that originates in a desk top - pc- or departement minicomputer may travel to a similar system or be sent to a fax machine , it may be printed wrapped in apostal envelope and paper mailed it may be broadcasted over satellite networkes to users personal wireless communication or it may switched trough telex
2- unparalleled connectivity
e- mail today unparrlleled offers connectivity between users employing fundamentally different compenting platforms including pcs mainframes and minincomputers thes user reside on fundamentally different networks such as ( LANS) , (WANS) and even ( pots ) networks but can communicate beacuse of e- mail ‘s store and forward architecture .
3- electronic commerce and electronic communicaties :-
electronic commerce technology can potentially engage avast user base for consumer messaging the vision of an electronic community first began to get in early 1994 with the formation of commerce not consortium in the internet environment and the annoument of at & t’s personalink sevice and general magic captm software platform and telescript tm communication technology messaging and electronic marketplases smart messaging and smart mailboxes are technology that enable increased intelligence to built intomessaging platforms.
E-mail features,
At this point we have a good idea of show Computer communication take palce but there is some more sophisticuted equipment and programs than we have discussed are used on the online service end of a communication link and me don’t mentioned it because it is invisible to us.
E-mail commands
E-mail can be Menul or command driven, or both Menu-driven E-mail system such as compu serve’s menu shown Fig ( ) are easiest for new users and those who use several online services.
Commands that are used in most command-driven E-mail systems are self explanatory.
(e.g. to read a message, type READ; to delete a message type DELERE; to reply a Message type RE PLY;)
E-mail commands may use qualifiers (additonal in struction that modify how a command is impemented) to use more advanced feature various additional commands may be used to address a Message and specify text mode as shown in Fig. ( )
How E-Mail Works ?
* How Computer Communication Works : ?
Computer communications are direct data transfer between c, the data can be data foles, text files, or programs. Transferred data may also include control and acknowledgment signals exchanged by computers transferring data.
The commen way to Link computers or in accessing E-mail services is modem Link.
A typical modem data transfer sequence goes Like this :
A computer transmits binary to its modem, in the form of a sequence of bits. The modem converts to an analog signal. Which then transmitted over- grade telephone Lines. A modem at the receiving end converts this analog signal in to a binary signal, then sends it to its computer, which at this point, has in its memory a duplicate of data originally sent.
Element of data transfer
successful data transfer requiers four elements :
data, data equipment (computer) data communications equipment (modems), and a comunication link .
Data terminsal equipment. (DTE)
(DTE) consists of the computers or terminals used in telecomputing,which serve as both the utimate source and destination of data [ Terminal is a place where a journey begins and ends ]
Communication links
Computers may be lonked for data transfer in several ways. The majority of data communication, however, takes place via telephone lones.
Data Communications Equipment:(DCE)
While it is the least expensive and most readily available channed of data transfer, the voicetelephone system can’t handle computer data in its native binary format. Thus, a modem must be used to translate data from binary format into analog format. Data Communication Equipment (DEC) perform this task . (DCE) consists of Modems and their assiciated interfaces , connectors, nad cables .
Computer Communication Hardware
The major hardware elements used in computer data communication are :
1- Computers
At least a personal compter of a keyboard, the computer itself, a monitor and a mass storage device in addition to these we add a modem and/or a serial port, internal modems have a built-in serial port but modems that don’t use serial port use parallel port.
2- Modems
Computer modems are often called dial-up modems, as they use reglular
or dial-up telephone lines. They may be external or internal. Computer modems operate in
the same way that FAX modems operate. They convert computer data which is binary formate
in the form of negative and positive voltahe, in to analog signals, which superimposed on
a telephone-line carrier
ware in process called modualtion, the analog signals are then transmitted via voice-
telephone lines to receiving modem which reverses the modulation process by demodulatating
the data and converting it back into binary data that the computer can under stand.
In addition to converting, sending and receiving data, a computers modem is responsible for dialing up initating and maintaining a connection, it may also check data for erros. the error- checking capacbilitiy of a modem is built-in, but it is not operational unless it is communicating with a modem that has the same kind of error-cheking capability.
SIMPLE MAIL TRANSFER PROTOCOL(SMTP)
SMTP and Sendmail
Pine is a user agent not a message transfer agent. In plain English, that means Pine does not know how to interact with other computers on the Internet to deliver or receive email. What Pine does know how to do is help users read, organize and create email. The "dirty work" of delivering and accepting email is handled by other programs.
All outgoing email is delivered to a mail transfer program or to an SMTP server. The most common mail transfer program is sendmail.
Pine 3.91 and earlier:
When Pine on a UNIX computer uses the local send mail, it first writes the message to a temporary file in /tmp. Then Pine runs a shell in the background that runs send mail on the temporary file and then removes it. This is done with a shell in the background so the user doesn't have to wait for send mail to finish. By default, send mail is invoked with the -t flag to cause it to read and parse the header to determine the recipients; the -oem flag to cause errors to be mailed back; and the -oi flag to ignore dots in incoming messages. Systems administrators can choose to configure Pine to use a different mail transfer program or even send mail with different flags
Pine can also operate as an SMTP client. SMTP stands for Simple Mail Transfer Protocol; it specifies the rules by which computers on the Internet pass email to one another. In this case, Pine passes outgoing email messages to a designated SMTP server instead of to a mail transfer program on the local machine. A program on the server then takes care of delivering the message. To make Pine operate as an SMTP client, the smtp-server variable must be set to the IP address or host name of the SMTP server within your organization. This variable accepts a comma separated list of servers, so you can specify multiple SMTP servers. PC-Pine only runs as an SMTP client.
The selection of which MTA to use depends on the settings of send mail-path, smtp-server, and compile-time options. The first MTA specified in the following list is used:
1. Send mail-path in /usr/local/lib/pine.conf.fixed
2. smtp-server in /usr/local/pine.conf.fixed
3. send mail-path specified on the command line.
4. smtp-server specified on the command line.
5. Send mail-path in the user's .pinerc file.
6. smtp-server in the user's .pinerc file.
7. Send mail-path in /usr/local/lib/pine.conf
8. smtp-server in /usr/local/pine.conf
9. DF_SEND MAIL_PATH defined at compile time.
10. SEND MAIL and SEND MAIL FLAGS defined at compile time.
If the send mail-path form is used, a child process is forked, and the specified command is executed with the message passed on standard input. Standard output is then
passed back and displayed for the user. NOTE: The program MUST read the message to be posted on standard input, AND operate in the style of send mail's "-t" option.If an smtp-server is specified, a connection to the server is opened. If the message contains 8-bit text, ESMTP 8BIT MIME negotiation is attempted. The message is then sent using SMTP commands.
If none of the above are set, the default send mail program is invoked with the "-bs -odb -oem" flags, ESMTP negotiation is attempted, and the message is sent. The main purpose of SMTP is to deliver messages to user's mailboxes. A very similar service provided by some hosts is to deliver messages to user's terminals (provided the user is active on the host). The delivery to the user's mailbox is called "mailing", the delivery to the user's terminal is called "sending". Because in many hosts the implementation of sending is nearly identical to the implementation of mailing these two functions are combined in SMTP. However the sending commands are not included in the required minimum implementation
Users should have the ability to control the writing of messages on their terminals. Most hosts permit the users to accept or refuse such messages.
The following three command are defined to support the sending options. These are used in the mail transaction instead of the MAIL command and inform the receiver-SMTP of the special semantics of this transaction:
SEND <SP> FROM:<reverse-path> <CRLF>
The SEND command requires that the mail data be delivered to the user's terminal. If the user is not active (or not accepting terminal messages) on the host a 450 reply may returned to a RCPT command. The mail transaction is successful if the message is delivered the terminal.
SOML <SP> FROM:<reverse-path> <CRLF>
The Send Or MaiL command requires that the mail data be delivered to the user's terminal if the user is active (and accepting terminal messages) on the host. If the user is not active (or not accepting terminal messages) then the mail data is entered into the user's mailbox. The mail transaction is successful if the message is delivered either to the terminal or the mailbox.
SAML <SP> FROM:<reverse-path> <CRLF>
The Send And MaiL command requires that the mail data be delivered to the user's terminal if the user is active (and accepting terminal messages) on the host. In any case the mail data is entered into the user's mailbox. The mail transaction is suif the message is delivered the mailbox.
SMTP COMMAND SEMANTICS
The SMTP commands define the mail transfer or the mail system function requested by the user.SMTP commands are character strings terminated by <CRLF>. The command codes themselves are alphabetic characters terminated by<SP>if parameters follow and <CRLF> otherwise. The syntax of mailboxes must conform to receiver site conventions. The SMTP commands are discussed below.
A mail transaction involves several data objects which are communicated as arguments to different commands.The reverse-path is the argument of the MAIL command, the forward-path is the argument of the RCPT command, and the mail data is the argument of the DATA command. These arguments or data objects must be transmitted and held pending the confirmation communicated by the end of mail data indication which finalizes the transaction. The model for this is that distinct buffers are provided to hold the types of data objects, that is, there is a reverse-path buffer, a forward-path buffer, and a mail data buffer. Specific commands cause information to be appended to a specific buffer, or cause one or more buffers to be cleared. HELLO (HELO)
This command is used to identify the sender-SMTP to the receiver-SMTP. The argument field contains the host name of the sender-SMTP.
The receiver-SMTP identifies itself to the sender-SMTP in the connection greeting reply, and in the response to this command.
This command and an OK reply to it confirm that both the sender-SMTP and the receiver-SMTP are in the initial state, that is, there is no transaction in progress and all state tables and buffers are cleared
Domain name system (DNS)
understanding the dns :-
- dns is the mean of mail transport , it is responsible for e- mail delivery , handling and reccepit
- The dns is the technique for ip numbers of internet hosts, Without dns, you should have to remember data and extra in formation like :- frederika @ 129-79-131-276 and gaerg @ 243-131-45-5, instead of “ some what more simple “ addresses like :- fredrika @ tutus com . and goerg@ hair - srus .com .
- The dns uses machines called “ name servers” controlled by software called “ BIND” this name server is needed at translation of word name in to an IP address .
Domain Concepts and Facilities
Domain Namenames are used to uniquely name each host on the Internet. A domain name has a number of parts separated by periods. Each label represents a level in the hierarchy. An example of a name is:
olive.cac.washington.edu. ,In this domain name the top-level label is edu, indicating it is at an educational institution, the second-levl label is washington, indicating the University of Washington. cac is a specific department within the University of Washington, and olive is the host name. The top-level names are assigned by Internet organizations, and other names are assigned at the appropriate level.
The Domain Name Service, DNS, is the distributed database used to look up these names. Pine relies on domain names in multiple places. A domain name is embedded into the message-id line generated for each piece of email. A domain name is needed to contact an IMAP server to get access to remote INBOXes and folders. Most importantly, domain names are needed to construct the From: line of your outgoing messages so that people on the Internet will be able to get email back to you On UNIX systems, you can set the domain via the user-domain variable in thePine configuration file, or rely on the file /etc/hosts which usually sets the name of the local host. While Pine can often deliver email without the domain name being properly configured, it is best to have this set right.Problems can usually be solved by adjusting the system's entry in the /etc/hosts file. The fully-qualified name should be listed before any abbreviations
128.95.112.99 olive.cac.washington.edu olive is preferred over 128.95.112.99 olive olive.cac.washington.edu
On PCs, the task of configuring the domain name is a bit different. Often times, PCs do not have domain names-they have IP addresses. IP addresses are the numbers which uniquely identify a computer on the network. The way you configure your IP address depends on the networking software which you use on the PC. You can refer to the documentation which came with your networking software or see the PC specific installation notes for help configuring the IP address with your network software.With PCs, it is vital that users set the variable user-domain in the Pine configuration file
organization of the DNS :-
- the domain name is organized in “ top - down “ hierarchy , that reads from right to left which means in previous example of DN “ COM” is called top - level hierarchy which helps to identify the hocation on internet , and “ tutus” is a commerical organisation or profit organ . in U.S.A
the U.S.A was only nation to have more than top - level designation , such that :-
mil : military entities and sets .
edu : educational institutions .
u.s : other intallations in U.S.A
INT : international organization
for other nations , such that united kingdom has top- level domain “uk”, canda has “ca” .
name servers and e- mail :-
- every name server contains the information necessary to translate the D.N.of every machine on the internet to its equivalent IP address.
briefly :- any name - server that know all information , for aparticular domain or host in which it resides which is termed a thoritative .
it means that name servers are unlikely over the world , no one knows every IP address
- the DNS is distributed system allows name server to contact with other name serverthen the “ IH asagate. IH asa -ory “ is configured as the autharitative name server “ Ihasa - ory “ domain /
- for understanding this mechanism of contacying . see this example :-
- some one on “ felix cat. ary “ is attempting to send E-Maih to some one on “ gussie Ihasa , ary “ . the following steps is taken place .
(a) the - send mail programm on “ name server “ “ felix - cat - ory “ need to does this . send maih must obtain the IP number of “ guassie ..........ect “ by asking its locail name server for address.
(b) this local name server of “ felix - cat - oory “ must send a guery to an ther name server to see if that name server knows the IP address it needs .
(c) the next logically step is the name server to query is the one for the “ ory” domain note “ this name server in ory “ domain “ will know the IP address of vames server at “ Ihasa . ory “ which will know about “ gussie - Ihasa - ory “ .
(d) in this moment the local name server contact with “ Ihasagat - Ihasa . ory “ which knows the IP ADDRESS OF “ guasie - Ihasa - ory “.
Note :-
this ip address is provided by caching ability of DNS NAMe Seruers .
Briefly, when DNS Cantacts the authoritotive NAMe server for adomain, that outhoritative NAME server provides an outhoritative onsuer. rememed By DNS for ashort peried of time “afewdays equal about 2-days” By processor of Caching ability of DNS-
+ Berkeley internet NAME Domain :- “BIND”
Asprevious ly, we not that BIND is asoft ware used in DNS to run NAMe server, and BIND is the Most common Implementation of DNS cansiting of Manual pages, tools, Resolve library, name server and including fiels.
Note
The Manual pages afper a complete set of instructions for DNS, NAMe servers ........ ect.
- If you don’t have BIDN, it Can abtained at ftp : / / gate keeper.dec. Com/ pub/ BSD/ bind/ 4.9/ and is Compressed using GNUTip
Note :-
The most current veresion of BIND is 4.4.2
- if you do have to obtain the source cade of BIND, Make sure you have a c-compiler installed on your system - and you Read the “README and “INSTALL” fiels.
Notes
1- Befor you can figure DNS, you Must know that you should alaways have 2- DNS MAMe servers avaliable, one NAMe server. The primary can taims all DNS records, the ather NAM ese rver, the secondary, abtains DNS Information from primary, to act as Back up should any thing happen to the primary.
Records :-
DNS maintaims in formation an Ip address as a seris of Records, These
records give DNS the ability to Resolve IP addresses, as well as do revefrom an Ip
addressba. There are
3- imfortont DNS Records.
a) Mx. or mail zxchanger, the mxrecod provides host NAMES, not Ip addresses,
b) A or ANA
an address record gives the ip address of exact machine that E-Mail nees to reach. it is anly recordts orovide an actual ip address.
c) CNAME.
ACNAME record or alias provides the MAME of the real machine to con tact. like Mxrecord. CNAME provides host NAME, nat ipaddress.
Then .
Once Mx record or CMAME record is used, an
A-record is still required to of tain the Ipaddress of final des timation for E-mail.
DNS Design Goals
The design goals of the DNS influence its structure. They are: The primary goal is a consistent name space which will be used for referring to resources. In order to avoid the problems caused by ad hoc encodings, names should not be required to contain network identifiers, addresses, routes, or similar information as part of the name. The sheer size of the database and frequency of updates suggest that it must be maintained in a distributed manner,with local caching to improve performance. Approaches that attempt to collect a consistent copy of the entire database will become more and more expensive and difficult, and hence should be avoided. The same principle holds for the structure of the name space, and in particular mechanisms for creating and deleting names; these should also be distributed.Where there tradeoffs between the cost of acquiring data, the speed of updates, and the accuracy of caches, the source of the data should control the trade off. The costs of implementing such a facility dictate that it be generally useful, and not restricted to a single application.We should be able to use names to retrieve host addresses, mailbox data, and other as yet undetermined information. All data associated with a name is tagged with a type, and queries can be limited to a single type. Because we want the name space to be useful in dissimilar networks and applications, we provide the ability to use the same name space with different protocol families or management. For example, host address formats differ between protocols, though all protocols have the notion of address.
The DNS tags all data with a class as well as the type, so that we can allow parallel use of different formats for data of type address.We want name server transactions to be independent of the communications system that carries them. Some systems may wish to use datagrams for queries and responses, and only establish virtual circuits for transactions that need the reliability (e.g., database updates, long transactions); other systems will use virtual circuits exclusively.
The system should be useful across a wide spectrum of host capabilities. Both personal computers and large timeshared hosts should be able to use the system, though perhaps in different ways. about the needs and usage patterns of its user community and is designed to avoid many of use.
Clients of the domain system should be able to identify trusted name servers they prefer to use before accepting referrals to name servers outside of this "trusted" set.Access to information is more critical than instantaneous updates or guarantees of consistency. Hence the update process allows updates to percolate out through the users of the domain system rather than guaranteeing that all copies are simultaneously updated. When updates are unavailable due to network or host failure, the usual course is to believe old information while continuing efforts to update it.
The general model is that copies are distributed with timeouts for refreshing. The distributor sets the timeout value and the recipient of the distribution is responsible for performing the refresh. In special situations, very short intervals can be specified, or the owner can prohibit copies. In any system that has a distributed database, a particular name server may be presented with a query that can only be answered by some other server. The two general approaches to dealing with this problem are "recursive", in which the first server pursues the query for the client at another server, and "iterative", in which the server refers the client to anothe server and lets the client pursue the query. Both approaches have advantages and disadvantages, but the iterative approach is preferred for the datagram style of access.
The domain system requires implementation of the iterative approach, but allows the recursive approach as an option.
The domain system assumes that all data originates in master files scattered through the hosts that use the domain system. These master files are updated by local system administrators. Master files are text files that are read by a local name server, and hence become available through the name servers to users of the domain system. The user programs access name servers through standard programs called "resolvers."
The standard format of master files allows them to be exchanged between hosts (via FTP, mail, or some other mechanism); this facility is useful when an organization wants a domain, but doesn't want to support a name server. The organization can maintain the master files locally using a text editor, transfer them to a foreign host which runs a name server, and then arrange with the system administrator of the name server to get the files loaded.Each host's name servers and resolvers are configured by a local system administrator For a name server, this configuration data includes the identity of local master files and instructions on which non-local master files are to be loaded from foreign servers. The name server uses the master files or copies to load its zones. For resolvers, the configuration data identifies the name servers which should be the primary sources of information.The domain system defines procedures for accessing the data and for referrals to other name servers. The domain system also defines procedures for caching retrieved data and for periodic refreshing of data defined by the system administrator.
The system administrators provide:
- The definition of zone boundaries.
- Master files of data.
- Updates to master files.
- Statements of the refresh policies desired.
The domain system provides:
- Standard formats for resource data.
- Standard methods for querying the database.
- Standard methods for name servers to refresh local data from
foreign name servers.
Elements of the DNS
The DNS has three major components:
1-The DOMAIN NAME SPACE and RESOURCE RECORDS
which are specifications for a tree structured name space and data associated with the names. Conceptually, each node and leaf of the domain name space tree names a set of information, and query operations are attempts to extract specific types of information from a particular set.
A query names the domain name of interest and describes the type of resource information that is desired. For example, the Internet uses some of its domain names to identify hosts; queries for address resources return Internet host addresses.
2 - NAME SERVERS
are server programs which hold information about the domain tree's structure and set information.
A name server may cache structure or set information about any part of the domain tree, but in general a particular name server has complete information about a subset of the domain space, and pointers to other name servers that can be used to lead to information from any part of the domain tree.
Name servers know the parts of the domain tree for which they have complete information; a name server is said to be an AUTHORITY for these parts of the name space.
Authoritative information is organized into units called ZONEs, and these zones can be automatically distributed to the name servers which provide redundant service for the data in a zone.
3 - RESOLVERS
are programs that extract information from name servers in response to client requests. Resolvers must be able to access at least one name server and use that name server's information to answer a query directly, or pursue the query using referrals to other name servers. A resolver will typically be a system routinthat is directly accessible to user programs; hence no protocol is necessary between the resolver and the user program.
These three components roughly correspond to the three layers or views of the domain system:
- From the user's point of view, the domain system is accessed through a simple procedure or OS call to a local resolver.
The domain space consists of a single tree and the user can request information from any section of the tree.
- From the resolver's point of view, the domain system is composed of an unknown number of name servers.
Each name server has one or more pieces of the whole domain tree's data, but the resolver views each of these databases as essentially static.
- From a name server's point of view, the domain system consists of separate sets of local information called zones.
The name server has local copies of some of the zones. The name server must periodically refresh its zones from master copies in local files or foreign name servers. The name server must concurrently process queries that arrive from resolvers.
In the interests of performance, implementations may couple these functions. For example, a resolver on the same machine as a name server might share a database consisting of the the zones managed by the name server and the cache managed by the resolver.
12.3. MIME :- [Multipurpose Internet mail Extensions]
MIME is a way of encoding a multipart message structure into a standard Internet email message. The parts may be nested and may be of seven different types: Text, Audio, Image, Video, Message, Application and Multipart (nested). The MIME specification allows email programs such as Pine to reliably and simply exchange binary data (images, spreadsheets, etc.) MIME includes support for international character sets, tagging each part of a message with the character set it is written in, and providing 7-bit encoding of 8-bit character sets. It also provides a simple rich text format for marking text as bold, underlined, and so on. There is a mechanism for splitting messages into multiple parts and reassembling them at the receiving end.
The MIME standard was officially published in June of 1992 as RFC 1341 and subsequently revised in RFC 1521 when it became a full Internet Standard.
Pine 3.0 was one of the first email programs to Implement MIME. Now, there are dozens of commercial and freely available MIME-capable email programs.
In addition, MIME is being added to newsreaders so MIME messages can be posted and read in USENET newsgroups.
The MIME standard also includes support for non-ASCII text in message headers through the extensions described in RFC 1342 and subsequently revised in RFC 1522. Support for RFC 1522 was added in Pine 3.92.
An actual MIME message looks something like this:
Date: Tue, 12 Mar 1996 15:39:35 -0800 (PST)
From: David L Miller <dlm@cac.washington.edu>
To: David L Miller <dlm@cac.washington.edu>
Subject: =?iso-8859-1?Q?Test_MIME_message_with_RFC-1522_headers_=28=E1?= =?iso-8859-1?Q?=E2=E3=29?=
Message-Id: <Pine.ULT.3.92.960312150851.21583I-101000@shiva2.cac.washington.edu>
Mime-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="0-1737669234-826673975=:21583"
Content-Id: <Pine.ULT.3.92.960312153928.21583O@shiva2.cac.washington.edu>
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.
--0-1737669234-826673975=:21583
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.ULT.3.92.960312153104.21583L@shiva2.cac.washington.edu>
The text of the message would go here. It is readable if one doesn't mind wading around a little bit of the MIME formatting. After this is a binary file in base 64 encoding.
|\ | |\/| David L. Miller dlm@cac.washington.edu (206) 685-6240
|/ |_ | | Software Engineer, Pine Development Team (206) 685-4045 (FAX)
University of Washington, Networks & Distributed Computing, JE-20
4545 15th Ave NE, Seattle WA 98105, USA
--0-1737669234-826673975=:21583
Content-Type: APPLICATION/ZIP; NAME="test.zip"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.ULT.3.92.960312153638.21583N@shiva2.cac.washington.edu>
Content-Description: Test Attachment
UEsDBBQAAAAIAGh8bCBbZKT4ygIAAHgFAAAEAAAAdGVzdIVUX2vbMBB/16c4
9rSBNyjsYX1UHSUROLInycv2qNhKI5ZYxlLa5dvvpDRLw6CFgJF09/t3Rxo3
WDBDD43rPJjJQpxMbw9m+h3AbyHuLLSDe7JTcPGUbtYm7NzwGP3wBYQnnT8c
7NQ5s4djsC8t4QbmYE6wsfjpLTy7uPPHCOPk/ATPk4vRDmS008GF4PzwPich
zY3m4LfxOQlPNy4GcEO3P/a2h2j/xGyp9ONpco+7CHf33+4/393ff4XNibzL
c1UVfXJXQIdIBRx877b4TYy9C3Fym2NEyzsX/pNDet8dD3aIJiagLbo2wwnG
4zT6cK66ZLK1NhH9J4tcZQEy7OxkNyd4nMwQbV9glP7JZb87E3O32fgnm7We
XQ8+us4SM47WTCkgMPt9enc2ZAW5c+Pj7o32l0IXXk/r8pSRE3A4jqOfIqqF
G+PFlSdRDOaQduXNESTwtDcYfJ8191gWXUjYmOJ43Oxdh11JTzRuSPcY37+B
vNqmf0O5RB1G27mt64rLCp4X8pW1L6BvxunCeYHNk3F7s9lb+GAwyvAhOyNE
Lxm0gv9gUnH9C+o5rKlacrHQtYAZV2VF+UoBrSp8kJIKzZkqgP1sJFMKagl8
1VSczQqy5noJki2onIGuQS+5AlXPNfaxArgoq3aGwJDq6lZDxVdcU82RKMG/
4JArTVKzYrJc4pE+8CoJpGIGc65FIp8jO4WGSs3LtqISmlY2tUKyVMUFETWw
H0xoUMvE8KbXB4aC6EPFzrDiF6iGlZxWBeFixiUrdXJb1kKx7y2C4hPM6Iou
WI4hdVyO6yXVqkZqiXmottLJ9lzWK1LVKttqk8oZ1TS1NrJGS5jqeslQI0aK
ieCvzNlgNZJqiccCc5WafLxmKdii4gsmSvYpISkteamzkRwXJiG5SoUpcERK
8xIE8QQ7o+eh5WAUy1qYRP8rioip/maI+OfyF1BLAQIUAxQAAAAIAGh8bCBb
ZKT4ygIAAHgFAAAEAAAAAAAAAAEAAACkgQAAAAB0ZXN0UEsFBgAAAAABAAE
AMgAAAOwCAAAAAA==
--0-1737669234-826673975=:21583--
For details about Pine's implementation of MIME, see the two MIME sections "MIME: Reading a Message" and "MIME: Sending a Message" later in this document.
That is codified in RECs 1521 and 1522 and MIME Extentions Include support for structured, multipart wessage bogies and binany attachments
12.3.1. Basic MIME Concepts and Enhancements to the RFC 822 :-
MIME essentially builds upor the RFC 822 and SMIP framework , MIME provides for Messages that are transparent to those old smip Implementations which can not cauy "eight-bit clean" information MTME also soes not contravence Rfc 822 : it simply aldds several new Message header fields and Incorporates some specifications for the for mat of message bodies The new header fields created by MIME include MIME Version. Content - type. content - transfer
- Encoding content-ID, and content - Description, The MIME standards support use of non- ASCII character data in the RFC 822 header fields.
12.3.2 Additional MIME considerations :-
12.3.3. MIME Bady and Body part Constructs :-
MIME content types |
MIME subtypes |
Remarks |
Multipart |
mixed |
Body Parts are processed by the user agent sequentially for example. word processed files. |
parallel |
Body Parts are processed by the user agent in parallel: for example video and audio clips. |
|
digest |
Each Body Part contains a mail message. |
|
alternative |
The Body Parts are altematives to one another. Only one should be processed or displayed. |
|
header-set |
As of early 1994. the header-set subtype was defined in an Intenet Draft [CROC 93]. It is lntended for cases where a Body Pady Part requires an internal header/data structure. |
|
delivery-status-notification |
As of early 1994, the delivery-status-notification subtype was defined in an Internet Draft. See Section 7.7.5 for derails. |
|
Message |
rfc822 |
ThBody Part is a complete FC 822 message. |
partial |
The Body Part is a partial message that has been fragmented to tunnel through size-limited MTAs. |
|
external-body |
The Body Part contains instructions to access its actual content through FTP, a mail server, or other methods. It may denote a local or remote file that is rather large. |
|
Text |
plain |
The usual seven-bit ASCII or an optional identified international character set. |
richtext |
Simple text formatting languge supporting line breaks, page breaks, and optional additional text formatting languages. |
|
Audio |
basic |
Uses eight-bit ISDN u-law format with a single clannel, sampled at 8khz. |
Image |
gif |
Uses Compu Serve’s Graphics Interchange Format (GIF). |
jpeg |
Uses ISO/IEC 10918’s compressed rendring of full color and gray scale images. |
|
Video |
mpeg |
Uses the ISO/ IEC 11172 specification. |
Application |
octet stream |
The Body Part contains binary data. Name, type, and conversions parameter can be standardized and registered. |
oda |
Uses the ISO/IEC 8613 Open Document Interchange Format. |
|
postscript |
Uses Adobe System’s nonrevisable document rendition format. This forma.,lkoi98t is already popular today as an interchange format fot documents that one intends to print. Postscript tends to create large text files. |
12.4. Internet Message Access Protocol (IMAP)
IMAP is a remote access protocol for message stores. Pine uses IMAP to get at messages and folders which reside on remote machines. With IMAP, all messages are kept on the server. An IMAP client (such as Pine) can request specific messages, headers, message structures, etc. The client can also issue commands which delete messages from folders on the server. IMAP's closest kin is POP, the Post Office Protocol, which works by transferring an entire mailbox to the client where all the mail is kept. For a comparison of IMAP and POP, see the paper "Comparing Two Approaches to Remote Mailbox Access: IMAP vs. POP" by Terry Gray. A more detailed exploration of message access may be found in the paper "Message Access Paradigms and Protocols". These papers may be found in the /mail directory of the anonymous FTP server at ftp.cac.washington.edu.
12.4.1. IMAP Features:
IMAP2 is defined in RFC 1176. IMAP4, the revision to IMAP2, is described in RFC 1730. Further information about IMAP may be obtained from the University of Washington's IMAP Information Center on the World Wide Web.
Pine 3.94 is an IMAP2bis client and does not yet implement all of the IMAP4 extensions. (IMAP2bis was an interim specification superseded by IMAP4.)
Pine takes advantage of the extensions defined in IMAP2bis for efficient and selective access to MIME body parts. We expect the next major release of Pine (probably version 4.0) to be fully compatible with the IMAP4 specification.
12.4.2 IMAP4 NON-SYNCHRONIZING LITERALS
The Internet Message Access Protocol [IMAP4] contains the "literal" syntactic construct for communicating strings. When sending a literal from client to server, IMAP4 requires the client to wait for the server to send a command continuation request between sending the octet count and the string data. This document specifies an alternate form of literal which does not require this network round trip.
Specification
The non-synchronizing literal is added an alternate form of literal, and may appear in communication from client to server instead of the IMAP4 form of literal. The IMAP4 form of literal, used in Communication from client to server, is referred to as a synchronizing literal.
Non-synchronizing literals may be used with any IMAP4 server implementation which returns "LITERAL+" as one of the supported capabilities to the CAPABILITY command. If the server does not advertise the LITERAL+ capability, the client must use synchronizing literals instead.
The non-synchronizing literal is distinguished from the original synchronizing literal by having a plus ('+') between the octet count and the closing brace ('}'). The server does not generate a command continuation request in response to a non-synchronizing literal, and clients are not required to wait before sending the octets of a non-synchronizing literal. The protocol receiver of an IMAP4 server must check the end of every received line for an open brace ('{') followed by an octet count, a plus ('+'), and a close brace ('}') immediately preceeding the CRLF.
If it finds this sequence, it is the octet count of a non- synchronizing literal and the server MUST treat the specified number of following octets and the following line as part of the same command. A server MAY still process commands and reject errors on a line-by-line basis, as long as it checks for non-synchronizing literals at the end of each line. In examples, "C:" and "S:" indicate lines sent by the client and server respectively.
Example:
C: A001 LOGIN {11+}
C: FRED FOOBAR {7+}
C: fat man
S: A001 OK LOGIN completed
Formal Syntax
The following syntax specification uses the augmented Backus-Naur Form (BNF) notation as specified in [<A HREF="rfc822.shtml">RFC-822</A>] as modified by [IMAP4].
Non-terminals referenced but not defined below are as defined by [IMAP4].
literal ::= "{" number ["+"] "}" CRLF *CHAR8
;; Number represents the number of CHAR8 octets
REFERANCE:
1-http://www.globecom.net/itef/rfc/rfc 822.shtml
Crocker, D., "Standard for the Format of ARPA Internet Text
Messages," RFC 822, Department of Electrical Engineering,
2-http://www.globecom.net/itef/rfc/rfc 1034.shtml
P., Mockapetris , "domain name - concepts and facilities"
RFC 1034,University of Washington ,november 1987
3-http://www.globecom.net/itef/rfc/rfc 1730.shtml
Crispin, M.,"ýInternet Message Access Protocol -version4",
RFC 1730,University of Washington ,december 1994
4-Electronic Mail
an introduction to the X400 message handling standards radiceti S.P. 1992
5-Internet E-Mail
Larry Donahue , Will Sadler
6-The E-mail Frontier
Emerging Markets and Evolving Technologies
Daniel J. Blum , David M. Litwack