Members BookmarksPolls Fresher Jobs Funny Photos B.Tech Projects New Member FAQ  



My Profile
Active Members
TodayLast 7 Days more...



Awards & Gifts
Online Exams

Fresher Jobs


Our fresher job section is exclusively for fresh graduates! Find jobs for freshers in major Indian cities including Bangalore, Chennai, Hyderabad, Pune or Kochi

Resources


Find educational articles, blogs, discussion threads and other resources.

Colleges


Find details about any college in India or search for courses.

Advertisements


website counter



smtp


Posted Date: 28 Apr 2008    Resource Type: Articles/Knowledge Sharing    Category: Computer & Technology

Posted By: sharu       Member Level: Gold
Rating:     Points: 5




1. Introduction

The objective of the Simple Mail Transfer Protocol (SMTP) is to
transfer mail reliably and efficiently.

SMTP is independent of the particular transmission subsystem and
requires only a reliable ordered data stream channel. While this
document specifically discusses transport over TCP, other transports
are possible. Appendices to RFC 821 describe some of them.

An important feature of SMTP is its capability to transport mail
across networks, usually referred to as "SMTP mail relaying" (see
section 3.8). A network consists of the mutually-TCP-accessible
hosts on the public Internet, the mutually-TCP-accessible hosts on a
firewall-isolated TCP/IP Intranet, or hosts in some other LAN or WAN
environment utilizing a non-TCP transport-level protocol. Using

SMTP, a process can transfer mail to another process on the same
network or to some other network via a relay or gateway process
accessible to both networks.

In this way, a mail message may pass through a number of intermediate
relay or gateway hosts on its path from sender to ultimate recipient.
The Mail eXchanger mechanisms of the domain name system [22, 27] (and
section 5 of this document) are used to identify the appropriate
next-hop destination for a message being transported.

2. The SMTP Model

2.1 Basic Structure

The SMTP design can be pictured as:

+----------+ +----------+
+------+ | | | |
| User |<-->| | SMTP | |
+------+ | Client- |Commands/Replies| Server- |
+------+ | SMTP |<-------------->| SMTP | +------+
| File |<-->| | and Mail | |<-->| File |
|System| | | | | |System|
+------+ +----------+ +----------+ +------+
SMTP client SMTP server

When an SMTP client has a message to transmit, it establishes a two-
way transmission channel to an SMTP server. The responsibility of an
SMTP client is to transfer mail messages to one or more SMTP servers,
or report its failure to do so.

The means by which a mail message is presented to an SMTP client, and
how that client determines the domain name(s) to which mail messages
are to be transferred is a local matter, and is not addressed by this
document. In some cases, the domain name(s) transferred to, or
determined by, an SMTP client will identify the final destination(s)
of the mail message. In other cases, common with SMTP clients
associated with implementations of the POP [3, 26] or IMAP [6]
protocols, or when the SMTP client is inside an isolated transport
service environment, the domain name determined will identify an
intermediate destination through which all mail messages are to be
relayed. SMTP clients that transfer all traffic, regardless of the
target domain names associated with the individual messages, or that
do not maintain queues for retrying message transmissions that
initially cannot be completed, may otherwise conform to this
specification but are not considered fully-capable. Fully-capable
SMTP implementations, including the relays used by these less capable

ones, and their destinations, are expected to support all of the
queuing, retrying, and alternate address functions discussed in this
specification.

The means by which an SMTP client, once it has determined a target
domain name, determines the identity of an SMTP server to which a
copy of a message is to be transferred, and then performs that
transfer, is covered by this document. To effect a mail transfer to
an SMTP server, an SMTP client establishes a two-way transmission
channel to that SMTP server. An SMTP client determines the address
of an appropriate host running an SMTP server by resolving a
destination domain name to either an intermediate Mail eXchanger host
or a final target host.

An SMTP server may be either the ultimate destination or an
intermediate "relay" (that is, it may assume the role of an SMTP
client after receiving the message) or "gateway" (that is, it may
transport the message further using some protocol other than SMTP).
SMTP commands are generated by the SMTP client and sent to the SMTP
server. SMTP replies are sent from the SMTP server to the SMTP
client in response to the commands.

In other words, message transfer can occur in a single connection
between the original SMTP-sender and the final SMTP-recipient, or can
occur in a series of hops through intermediary systems. In either
case, a formal handoff of responsibility for the message occurs: the
protocol requires that a server accept responsibility for either
delivering a message or properly reporting the failure to do so.

Once the transmission channel is established and initial handshaking
completed, the SMTP client normally initiates a mail transaction.
Such a transaction consists of a series of commands to specify the
originator and destination of the mail and transmission of the
message content (including any headers or other structure) itself.
When the same message is sent to multiple recipients, this protocol
encourages the transmission of only one copy of the data for all
recipients at the same destination (or intermediate relay) host.

The server responds to each command with a reply; replies may
indicate that the command was accepted, that additional commands are
expected, or that a temporary or permanent error condition exists.
Commands specifying the sender or recipients may include server-
permitted SMTP service extension requests as discussed in section
2.2. The dialog is purposely lock-step, one-at-a-time, although this
can be modified by mutually-agreed extension requests such as command
pipelining [13].

Once a given mail message has been transmitted, the client may either
request that the connection be shut down or may initiate other mail
transactions. In addition, an SMTP client may use a connection to an
SMTP server for ancillary services such as verification of email
addresses or retrieval of mailing list subscriber addresses.

As suggested above, this protocol provides mechanisms for the
transmission of mail. This transmission normally occurs directly
from the sending user's host to the receiving user's host when the
two hosts are connected to the same transport service. When they are
not connected to the same transport service, transmission occurs via
one or more relay SMTP servers. An intermediate host that acts as
either an SMTP relay or as a gateway into some other transmission
environment is usually selected through the use of the domain name
service (DNS) Mail eXchanger mechanism.




Responses


No responses found. Be the first to respond and make money from revenue sharing program.

Feedbacks      
Popular Tags   What are tags ?   Search Tags  
(No tags found.)

Post Feedback


This is a strictly moderated forum. Only approved messages will appear in the site. Please use 'Spell Check' in Google toolbar before you submit.
You must Sign In to post a response.
Next Resource: Here are some useful short commands which will come handy in use
Previous Resource: Broadcast Reliability in Mobile Ad Hoc Networks
Return to Discussion Resource Index
Post New Resource
Category: Computer & Technology


Post resources and earn money!
 
Related Resources


Contact Us    Privacy Policy    Terms Of Use   

SpiderWorks Technologies Pvt Ltd. 2006 - 2007 All Rights Reserved.