Home - Bounce eMail manager freeware | Product Info  |  eMail Bolts & Nuts  |  Sun Tzu Art of War  |  Back to eMail Broadcast FAQ
.
 
 

MTA or Message Transfer Agent the exchange of emails using TCP/IP defines how email messages are transmitted between two users.

The exchange of mail/font> using TCP/IP is performed by MTA (Message Transfer Agent) that defines how email messages are transmitted between two users and MTA defines how email messages are transmitted between two users.

Basically, the sending of emails consist of 2 parts; User Agent and MTA --that prepares and send emails, explained in rfc 821 for the basic specification of SMTP

Notes: User Agent - A program (ie: Eudora) or editor that let users create, edit, compose, store, send mails to a mail server, polls a mail server for mails, download and display mails and use POP3 to talk to mail servers.

A typical example of how two MTAs communicate with each other using a single TCP connection.

A session describing a one-line email message sent by using SMTP--governing email transmission and reception. The MTA used for this session is Sendmail--a software program for sending emails.

-V    MTA sent/received across the SMTP connection 220 a 3 digit numeric reply code from the SMTP server  and >>> commands sent by the SMTP client

 

 

.
The session...

sun % mail -V mable@test.org
To: mable@test.org (output by sender user agent)
Subject: testing (sender prompted for a subject)
user agent adds a blank line between headers and body 8, 9, 10.
. a period to end the message

Sending Letter...mable@test@org output by user agent followed by output from MTA (Sendmail)
Connecting to mailhost via ether...
Trying 132.250.0.52... connected

220 test.org Sendmail 4.0/SAG-test.G89 ready at Tue, 21 May 98 11:37:24 MST


>>> HELO sun.tuc.test.org
250 test.org Hello sun.tuc.test.org., pleased to meet you


>>> MAIL From:<mable@sun.tuc.test.org>
250 <mable@sun.tuc.test.org>... Sender ok

>>> RCPT To:<mable@test.org>
250 <mable@test.org>... Recipient ok

>>> DATA
354 Enter mail, end with "." on a line by itself


>>>
. a period to end the message
250
Mail accepted

>>> QUIT
221 test.org delivering mail

mable@test.org... Sent (output by user agent)

A one-line message data  8, 9, 10. was to the user agent but 12 lines went to the client. The first three lines between Received: and Message-Id: are added by the MTA and the rest were generated by the user agent.

Received: by sun.tuc.test.org. (4.1/SMI-4.1)
id AA01301; Tue, 21 May 98 11:37:22 MST
Message-Id: <6210181836.AA00502@sun.tuc.test.org.>
From: mable@sun.tuc.test.org (Mable Merliney)
Reply-To: mable@test.org
X-Phone: +0 202 671 2761
X-Mailer: Mail User’s Shell (9.1.0 12/02/98)
To: mable@test.org
Subject: testing

8, 9, 10.
  SMTP Commands

Sender type mail to invoke sender user agent.

Sender prompted for a subject: testing
user agent adds a blank line between headers and body
Sender type message body 8, 9, 10.
Sender type a period
. to completes the message and...

user agent passes the mail to the MTA for delivery.
The client opens to TCP port 25
Connecting to mailhost via ether...
Trying 132.250.0.52... connected

waits for a greeting message, reply code 220 from the server and response to start with a qualified domain name of the server’s host: test.org


>>> HELO command, the client identifies itself
The argument must be a qualified domain name of the client host: sun.tuc.test.org.
 

>>> MAIL From: command identifies the message originator.

>>> RCPT To: command, identifies the recipient. If there are multiple recipients, more than one RCPT command can be issued.

>>> DATA command, the client use it to send the contents of the mail message.



>>> QUIT command, terminates mail exchange.

QUIT command, the receiving machine must send an OK reply to the sending machine--at this point--the receiving machine do not close the transmission yet--until it receives and reply to the QUIT command from the sender machine. The sender machine will also not close the transmission until it sends the QUIT command and receives a reply.

If the connection is closed prematurely, a 504 command not implemented failure reply to the sending machine and the receiving machine will act as if a RSET command had been received, cancel pending transaction due to temporary error. RSET command, specify that; current mail transaction is to be aborted and the receiver machine must send an OK reply.

RSET command aborts current mail transaction and causes both ends to reset and any stored information about sender, recipients or mail data is discarded. A mail transaction may be aborted by the RSET command.

If the transaction beginning command argument is not acceptable a 501 failure reply must be returned. If the commands in a transaction are out of order a 503 failure reply must be returned.


Basically, email consist of:
(1) The envelope   (2) headers   (3) Message body

(1) Envelope
rfc 821 specifies the contents and interpretation of the envelope--used by the MTAs for delivery specified by these two SMTP commands (MAIL From: and RCPT To:)

MAIL From:<mable@sun.tuc.test.org>
RCPT To:<mable@test.org>

(2) headers are used by the user agent and each header field contains a name, followed by a colon, followed by the field value.
Received: by sun.tuc.test.org. (4.1/SMI-4.1)
id AA01301; Tue, 21 May 98 11:37:22 MST

Message-Id: <6210181836.AA00502@sun.tuc.test.org.>
From: mable@sun.tuc.test.org (Mable Merliney)
Reply-To:
mable@test.org
X-Phone:
+0 202 671 2761
X-Mailer:
Mail User’s Shell (9.1.0 12/02/98)
To:
mable@test.org
Subject:
testing

Headers beginning with an X- are user-defined fields. RFC 822 specifies the format and interpretation of the header fields.

(3) Message body is the content of the message from the sender to the recipient and transferred using the DATA command--the headers are sent first, followed by a blank line, followed by the body. Each line transferred using the DATA command must be less than 1000 bytes.

The user agent takes what the sender specify as a body, adds some headers and passes the result to the MTA
The MTA adds a few headers, adds the envelope and sends the result to another MTA.

Notes: The term "content" used, normally means the combination of headers and the body--which is sent by the client with the DATA command.

 

 

 
  SMTP has a few more commands:

SEND command SOML command SAML command
begin a mail transaction, once started a mail transaction consists of HELO, MAIL FROM and one or more RCPT commands, follows by DATA command.
SEND SOML SAML replaces the MAIL command and allow mails to be delivered directly to the recipient mailbox or user terminal.

Help command ask the receiver machine to send help information to the sender HELP request command.

RSET command that aborts current mail transaction and causes both ends to reset and any stored information about sender, recipients or mail data is discarded.

VRFY command lets the client ask the sender to verify a recipient's address, identifies a user, name, specified mailbox and returned a reply, without sending mail to the recipient.

NOOP command force the server to respond with an OK reply code 200 - NOOP command does nothing else.

EXPN expands a mailing list, asks the receiver to confirm that the argument identifies a mailing list, and if yes, return the membership of that list with full name of the users and specified mailboxes.

TURN command lets the client and server switch roles, to send mail in the reverse direction without having to create a new one TCP connection. The receiver must send an OK reply and then take on the role of the sender-SMTP or send a refusal 502 reply and retain the role of the receiver-SMTP.

HELP  NOOP   EXPN  and VRFY commands can be used at any time during a session between SMTP mail machine.
 

<<back to>>     
eMail Broadcast FAQ

 

Any feed-back or suggestions? Please Drop us a note

Privacy Policy | Art of eMail CRM | eMail Bolts&Nuts

Home | Contact Us | Support | Purchase | Product Info 

 Guest Book | Useful Sites | Download Bounce eMail Manager Freeware

©Copyright June 2002 - Permission to re-print, please click here

 

  Can't find what you need? Try Google...
Google