SMTP - Simple Mail Transfer Protocol What Is SMTP?
SMTP - Simple Mail Transfer Protocol What Is SMTP?
What is SMTP?
SMTP stands for Simple Mail Transfer Protocol. This protocol allows transmitting electronic mail
over the Internet or any other network. The protocol itself is designed on a character basis. Thus the
entire transfer of a mail can be examinated by a human beeing without having to decode first the
data. This is the reason why mails can be send without major problem using a simple Telnet
application. The entire process of sending a mail is describe here using a Telnet application as
example base.
The communcation is always carried out over the port 25. A mailserver needs an open port 25
which is one of the major problems if ISPs are blocking those. In contrast to the HTTP service the
SMTP service can not simply use another port to communice out of the box. This is due to the
restricting nature of this protocol.
Return-path <e-mail> This is the adress to reply to if needed. Again this field can be
falsified and is often used to trap users because the mail suddenly
gets send to another adress instead of the sender.
Delievered-to infos Contains informations about the system having received the mail.
This is optional and filled with some string of the mail server.
Received infos Each time a mail gets transmitted from one MTA to another the
MTAs involded usually prepend some stuff to the mail header.
These informations can be used to follow the path a mail has taken
until it arrived at the user.
Message-ID: <id-adress> In some cases the sender mail server creates an id for each mail and
it will be written at that place. This can be used for notification
callbacks like the 'has-received' options available in certain mail
clients like the ones mentioned above.
To: adress Specifies the adress the mail was sent to. Can also be messed up
which looks funny if the mail client delievers a mail to you that has
another e-mail set as from where you got it.
Subject: info The Subject line telling what this mail is all about.
Date: info The date when the mail was sent. Another nice field to put funny
stuff into like mails from the future.
Here an example of a possible mail header. The received lines have to be read bottom up.
From [email protected] Wed Aug 18 00:52:08 1999
Return-Path: <[email protected]>
X-Flags: 0001
Delivered-To: GMX delivery to [email protected]
Received: (qmail 5433 invoked by uid 0); 18 Aug 1999 00:52:08 -0000
Received: from f135.law3.hotmail.com (HELO hotmail.com) (209.185.241.135)
by mx6.gmx.net with SMTP; 18 Aug 1999 00:52:08 -0000
Received: (qmail 41386 invoked by uid 0); 18 Aug 1999 00:52:01 -0000
Message-ID: <[email protected]>
Received: from 195.252.134.115 by www.hotmail.com with HTTP;
Tue, 17 Aug 1999 17:52:01 PDT
X-Originating-IP: [195.252.134.115]
From: "Max Mustermann" <[email protected]>
To: [email protected]
Subject: Level2-Zugang
Date: Wed, 18 Aug 1999 02:52:01 CEST
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1; format=flowed
MAIL FROM: <adresse> Begins mail transfer giving the sender adress
NOOP Does nothing else than provoking a 250 response. Can be used to
check if the mail server is still working
251 User not local and has to be forwarded (adress will follow)
450 Mailbox not available. Another error MTAs can occur if a user was removed
452 Out of Memory. Unlikely today but in old days was possible
503 Bad Command Sequence. Occurs if you issued commands in the wrong order
Theorie Questions
Question Answer