. |
|
|
|
|
Delivery of each email is done by your ISP mail server, first establishing a conversation through (port 25) of each of your recipient ISP mail server
How email works?
How do my email gets to the recipient?
SMTP (Simple Mail
Transport Protocol) is a protocol
governing electronic mail transmission and reception. It is used for sending
email to and between mail servers (sending and receiving email messages).
Using email clients like: Outlook Express or Eudora etc. to send out email to your ISPs mail server--which collects them--put them in queue and then relay them to your recipients ISP mail server--for retrieval from their mailbox. Mailbox - each mailbox is assigned a unique address ie: mymail@mydomain.com character string which identifies the user to whom the mail is to be sent. Mailboxes normally reside on mail servers that are always connected to the Internet (otherwise mails can't be received), and mails are fetch from the remote mail servers using Post Office Protocol (POP3) by the user with their mail client. |
|
|
Many ISP (or your) mail servers can be programmed to make multiple attempt delivery of undelivered email, some up-to 250 times before returning them as undeliverable. In many countries, local legislation requires ISP service operator to grant security service access to the user's correspondence--so, your emails are probably stored in your ISP's system for some time before being delivered.
If you sent 500 emails to your ISP mail server, it will accept all (store them) and put them in queue for delivery or you may experience server-time-out (connection terminated) because many ISP mail server are programmed to limit the amount of mail that you can sent, by quantity or by limiting the server access time. Server-time-out, if the sending and receiving mail server has different timeouts, one of them may give-up while the other is still trying and unexpectedly, terminate the connection. Many ISP mail servers also reduce the number of concurrent connection--meaning that even thought your ISP mail server have accepted all your emails--they may not be delivered or accepted by the intended recipient ISP mail server. See: Server-time-out and identifying mail delivery failures... See: SMTP Return Error Codes
Assuming that all your 500 emails are sent to different domain recipients, for example:
july_@aol.com march_@mail.com may_@hotmail.com
etc., your ISP mail server will have to deliver each of your 500 emails to 500
different ISP mail servers. |
|
|
|
|
|
|
. |
After your ISP mail server have collected all your emails, put them in queue and then send them out--to each recipient ISP mail server by establishing a conversation with a SMTP server--connecting to port 25 on the recipient SMTP mail server and wait for it to identify itself first.... ...the recipient mail server will tell the sending server if it is prepared to receive mail--if not--the sending mail server terminate the connection and try again later... ...after a predetermined undeliverable attempts, all undeliverable message will be returned with an error report containing the first part (message headers) to the sender mail server. Server-time-out, if the sending and receiving mail server has different timeouts, one of them may give-up while the other is still trying and unexpectedly, terminate the connection.
Basically, email consist of:
(1)
Envelope
(2)
headers are used by the
user agent and each header field contains a name, followed by a colon, followed by the field
value. (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.
Operational Sequent of: A HELO command and recipient mail server identify its self--at this stage--it may decide to terminate the connection--if it don't want to talk to the sender for example: mailbox full or blocked, etc., if it is accepted... A Mail-FROM command is issued by the sender mail server, followed by the from (sender) address--again, the mail server may decide to terminate the connection, if it does not wish to receive mail from the sender... ...at this stage, most mail servers will conduct a reverse lookup nslookup on the domain name specified for the HELO or FROM command and if the IP address of the sender mail server is not registered (see MX records) to that domain--considered an (imposter) non-local--the connection terminated and if it is accepted... A RCPT-TO command is issued, followed by the email address of the intended recipient--at this point, the mail server may reject emails sent to the specified address, ie; non local user--if all goes well at this stage, your ISP mail server may issue multiple RCPT-TO commands to the server thus adding more recipients to the message: Adding more--means that, if you have 100 AOL email recipients, all of them are all delivered to the mail server. When it is through with adding recipients, it issues the... DATA command to the server and if it is accepted ....at this point--again, the mail server may reject emails being delivered... A DATA command is accepted and your ISP mail server proceeds to send the message headers, followed by a blank line, followed by the message body and file attachment data. When it is done with sending the message data, it sends a carriage return, followed by a period, followed by a carriage return, to indicate the end of the message... A QUIT command is issued to terminate the conversation, if you have sent 500 emails and all of them are to 500 different email domain, the above process is repeated with each and every 500 different ISP mail server.
If you are sending emails using your own mail server program. Emails will first be sent from your email client to your mail server for delivery and if you are off-line (not connected to the Internet) your mail server will cache or store them in queue for delivery--And follow the same SMTP protocols as described above it makes no difference, whether it is your own mail server or your ISPs mail server.
How
two
MTAs (Message Transfer Agent) communicate with each
other using a single TCP connection? Below here is a
typical
transcript conversation between two mail servers (below). |
|
|
220 mailhost.immxx-isp.com ESMTP Sendmail 8.8.5/1.4/8.7.2/1.13; Tue, Mar 18 1997 14:38:58 -0800 (PST) HELO mail.sender.org 250 mailhost.immxx-isp.com Hello mail.sender.org
QUIT
|
HELO command, identifies the sending mail machine; HELO mail.sender.org to the receiving mail machine... and receiving mail machine to the sending machine; 250 mailhost.immxx-isp.com Hello mail.sender.org
At this initial stage NO transaction takes place,
the receiving
machine can terminate the process with a
501 failure reply
and the sending machine will try again or return the mail as undeliverable. RCPT TO
command, specifies
and identify the intended recipient of the mail
myfriend@immxx-isp.com and the given address becomes
the To: that determines who the mail will be delivered to,
regardless of what the
To:
line in the message says--at
this point, the mail server can still reject the mail.
RCPT TO is also used
to identify multiple recipients within the same domain by multiple use
of this command and if the mail contains a forward path (FW to
someone not local) and if the receiving machine do not allow relay the mail will be returned as:
550 Unknown local user DATA
command, starts the mail input and the receiving machine must process the transaction, store the mail and send an OK
reply to the sending machine.
If
the the transaction failed (at this point) the receiving machine must send a
503
encountered bad sequence of commands
failure reply to the sending machine. 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. QUIT command is the last session and it cannot be used at any other time during a session. 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. |
SMTP has a few more commands:
SEND
command
SOML
command SAML
command 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 recipients 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, HELP, NOOP, EXPN, and VRFY commands can be used at any time during a session between SMTP mail machines. SMTP is fully defined in rfc2821 for the basic specification of SMTP It is worth reading to sheds light on the mysteries and intricacies of email processing. |
|
|
|
Can't find
what you want? Try Google... |
|
©Copyright June 2002 Permission to re-print, please click here
Suggestions or feed-back, please drop us a note | eMail CRM Freeware | This site>>eMail Bolts & Nuts Home | Guest Book | Refund Policy | Privacy Policy | Contact Us | Support | Purchase | Product Info | Quick Tour Minute Wisdom | Sun Tzu Art of War | Useful Sites | eMail Broadcast FAQ's | Art of eMail CRM | eMail Marketing Tips |