How Does An Email Server Work?

Sending and receiving emails is something that is done in such a mundane manner that we never stop to think how this automatic, quick mail communication takes place. The key element in email communication is the email server. There is a very interesting technology behind the functionality of the email server.

Basically, email communication is made possible by SMTP and POP3 or IMAP server types. The most widely used mail-client software is Microsoft Outlook or Mozilla Thunderbird, and Mac OS X’s Mail. All these email software packages perform the same function, which is downloading incoming email into the machine from the mail server of the concerned email account like Yahoo, Gmail or AOL.

Communication that occurs on the internet is through the client-server connectivity. In simple terms, the client is the computer connects through a unique internet protocol address through the internet and the server is another computer connected to the internet which takes care of hosting and serving web pages. Servers are nothing but computer programs that run on high speed machines. These high speed machines are designed in the manner that they handle the requests of millions of clients. All the requests are served at the same time to those who access an email or webpage. This process is called web hosting.

Whenever an email is sent out, the system connects to your email service’s mail server which is a centralized computer that manages a specific service. For instance an email server handles emails. This email server which is responsible of sending email is called Simple Mail Transfer Protocol (SMTP) server. The SMTP server passes the mail to another SMTP server to the destination through several hops. Every email has the sender’s and recipient’s address. When an email is sent, the client connects to the SMTP server of the sender’s email service. The address of the sender, recipient and the content of the message is transmitted by the client. The SMTP locates the recipient’s whereabouts.It locates the domain name by recipient’s mail ID. This process will be simple, if the recipient’s mail ID has the same domain as the sender.

Each domain refers to a unique web address known as Internet Protocol (IP) address. The link between domain names to their IP address is stored in the Domain Name Registry. The SMTP server contacts the DNS server where the registry is stored. The address is sent back to SMTP server by the DNS server. The SMTP server sends the email to the SMTP server of the recipient’s email service. This server ensures the mail address of the recipients belongs to it and hands over it to the POP3 or IMAP server.

POP3 servers store our email IDs. Each mail account is associated to a username and password. Till the recipient log in and check the mail, the message in the POP3 server is kept and stored in the mail account

An email client which connects to the POP3 serve tell it to allow email for download..Pop3 mailboxes do not hold a copy of email once the mail is downloaded in the local machine and hence once cannot check the mail again the downloaded already from another machine. In order to overcome this issue IMAP4 (Internet Message Access Protocol version) was introduced which retains a copy of the emails on the server. This allows accessing the email from any location. Now a days MIME (Multipurpose internet Email Extensions) supports audio and video attachments in the email. Thus a simple principle lies on the working of the email system, it handles millions of request through out the world making this as one of the most advanced mailing system.

Sql Server Interview Questions on File Server and Client Server Database

One of major things in two of this approach is of working with data but both of these works in different manner.

In File Server Database approach the data is stored in the file and user have to take data directly from the file. When any change is to be made it is directly on the file application that is open .The file and data writes to these files. If 10 users are online on data then 10 are working and writing on the file.

In a client server approach data is still stored in a file but controlled by a server all the access in the hand of server. When any of application wants to make use of existing data then application request is send to server. After that server reads the request and send feedback. When any of application wants to writes something on file the request is send to server the server writes on the file. One single person reads and writes from this data files.

Oracle, Informix, Microsoft Sql Server are the best suit example of client server databases. Single user desktop just like Microsoft access.

There are lots of advantages of client server databases.

1) Single program reading and writing data the less chance of accidental changes or crashes of data.

2) Only single program play good role of security so enforcement of security is easy.

3) Client server databases use network bandwidth more efficiently then file server databases.

4) All things are handling by single computes so performance is good and quite impressive.

5) Client-servers databases use some good features that protect our data just like logging transactions and recovery from disk and network errors.

Some of these features are also available in file server approach but these need more expensive client server market. You can also learn more on dot net interview questions.

Importance of Client Server Technology

Used in almost all automated library systems, client/server technology is the computer architecture. Client/Server technology is computer architecture for separating the application’s functions into two or more distinct parts. Client/Server technology divides functions into client (requestor) and server (provider) subsystems, with standard communication methods (such as TCP/IP and z39.50). To facilitate the sharing of information between them, it divides the functions. On the desktop computer the client presents and manipulates data. To store and retrieve protected data the server acts like a mainframe. The machines can perform their duties to their best.


The main characteristics of Client Server Technology is as under-

o By the differences in their performing tasks the client and server can be differentiated from one another.

o The client and server generally function on different computer platforms.

o One or more servers may be connected by the clients.

o Multiple clients may be connected by the servers at the same time.

o Without affecting each other the client or server may be upgraded.

o By requesting a service the clients always initiate the dialogue.

In a client/server environment a client PC almost does the following:

o screen handling

o menu or command interpretation

o data entry

o help processing

o error recovery

A server can be anywhere along the dividing line and with a broad range between the clients. Only the user interface has been moved onto the client at one end; at the other end the database may be distributed.

Along the range there are at least five points:

1. Distributed presentation: The server and the client partly handle the presentation

2. Remote presentation: The client handles or controls the entire presentation

3. Distributed logic: The server and the client partly handle the application logic

4. Remote data management: The server handles or controls the entire Database management

5. Distributed database: The server and the client partly handle the Database management

In a library environment there are two major applications for client/server:

1) For an automated library system as the architecture- To facilitate use of this system a vendor designs a system using client/server technology to access multiple servers to improve productivity and to bring together multiple product lines.

2) To linking heterogeneous systems as an approach- To facilitate transparent access a vendor designs a client to systems of other vendors and from others a server to facilitate transparent access to its system.


The benefits of client/server computing are as under

1) In spite of changing the legacy application it is much easier to implement client/server

2) Move to rapid application development and new technology like object oriented technology

3) For development and support it is a long term cost benefits

4) To support new systems it is easy to add new hardware like document imaging and video teleconferencing

5) For each application it can implement multiple vendor software tools
Client/Server technology is proved much cost efficient and feasible in a mainframe environment.


The companies implement client/server technology on the following concerns-

o Between the client and server where there are many levels of complexity and compatibility issues

o Since you will need to maintain the old system (mainframe) and the new client server architecture development cost will rise in the short term

o There are many layers of complexity and compatibility issues between the client and server.

o Cost will rise in the short term since you will need to maintain the old system (mainframe) and the new client server architecture development.

o Software’s competency such as tools of security and management are not as mature as mainframe counterparts.

o With these tools takes time to become proficient.

o At giving up control of a centralized computing environment Information System departments may draw back.