E-Mail Protokolle - BBS I - Technik

Werbung
E-Mail Protokolle
IT02a
18.05.2004
Marina Maugeri
1. Geschichte der E-Mail ...................................................................................Seite 2
2. Aufbau einer E-Mail.......................................................................................Seite 2
3. SMTP – Simple Mail Transfer Protocol .........................................................Seite 2
3.1. Kommandos............................................................................................Seite 3
3.2. Antwortcodes ..........................................................................................Seite 3
3.3. Beispiel für Header .................................................................................Seite 3
3.4. Erklärung ................................................................................................Seite 4
3.5. Merkmale ................................................................................................Seite 4
4. POP3 – Post Office Protocol .........................................................................Seite 4
4.1. Wie funktioniert POP3 ............................................................................Seite 4
4.2. POP3 Modell besteht aus 3 Phasen .......................................................Seite 5
4.3. Beispielsitzung........................................................................................Seite 5
4.4. Kommandos............................................................................................Seite 5
4.5. Merkmale ................................................................................................Seite 6
5. IMAP – Internet Message Access Protocol ...................................................Seite 6
5.1. Drei Arten von Kommandos....................................................................Seite 6
5.2. Merkmale ................................................................................................Seite 6
5.3. Beispielsitzung........................................................................................Seite 7
6. POP versus IMAP .........................................................................................Seite 7
7. HTTP – Hypertext Transport Protocol ...........................................................Seite 7
8. MIME - Multipurpose Internet Mail Extensions ..............................................Seite 8
9. Namensauflösung .........................................................................................Seite 8
10. Quellenangabe..............................................................................................Seite 8
Seite 1 von 8
“E-Mail Protokolle”
1. Geschichte der E-Mail
Die Anfänge von E-Mails liegen bereits einige Jahre zurück. Im Herbst 1971 versandte der Techniker
Ray Tomlinson die erste E-Mail zwischen zwei verbundenen Rechnern. Auch das „@“-Zeichen wurde
von ihm entdeckt, als er auf der Suche nach einem Satzzeichen für die elektronische Post war.
Das erste Mailprogramm „Sendmail“ wurde 1981 von Eric Allmann programmiert; damit war es
möglich, Nachrichten mit einem Mailprogramm gleichzeitig in verschiedene Netze zu versenden.
2000 hatten bereits 505 Millionen Menschen eine E-Mail-Adresse, im Jahr 2005 sollen es bereits
1,2 Milliarden elektronische Briefkästen geben.
2. Aufbau einer E-Mail
Eine E-Mail Nachricht besteht prinzipiell aus zwei Teilen:
1. Header: Dieser enthält Informationen über den Absender, den sendenden Mailserver, Datum,
Protokolle und natürlich über den Empfänger. (Die meisten E-Mail Programme zeigen den Header gar
nicht mehr komplett an, sondern bereiten die Nachricht so auf, dass der Benutzer alle wichtigen Daten
auf einen Blick vor sich hat.)
2. Body: Der Body einer Nachricht enthält die eigentliche Nachricht die der Empfänger lesen soll und
den ASCII-Code etwaiger Attachments.
E-Mail Nachrichten sind nach RFC 822 definiert (Request for Comment Æ dient der Standardisierung
von Internet Technologie)
Die E-Mail besteht aus folgenden Komponenten:
• Umschlag (Envelope) Æ Informationen wie Sender und Empfänger
• Inhalt (Content) Æ beinhaltet die zu übertragende Nachricht
• Nachrichtenkopf (Message Header) Æ setzt sich aus mehreren Feldern zusammen, s.Tabelle
• Nachrichteninhalt (Message Content) Æ eigentliche Nachricht (US-ASCII Zeichensatz, 7 Bit)
Feldname
Date
From
Sender
Reply-To
Bezeichnung
origination date
origination address
sender address
reply-to address
To
Cc
primary recipients
carbon copy
Bcc
blind carbon copy
Message-ID
message
identification
subject
comments
received
Subject
Comments
Received
Beschreibung
Zeitpunkt, an dem die Nachricht vom Sender verschickt wurde
E-Mail Adresse des Senders
E-Mail Adresse des eigentlichen Absenders der Nachricht
Adresse(n) an die Antworten auf diese Nachricht gesendet
werden
Enthält intendierte Empfänger dieser Nachricht
Enthält Adressen an welche Kopien dieser Nachricht gesendet
werden
Enthält Adressen an welche Kopien dieser Nachricht gesendet
werden, die jedoch nicht sichtbar sind für die anderen
Empfänger
Ist eine Zeichenkette welche beim sendenden Host erstellt wird
und für jede Nachricht eindeutig ist
Kurzbeschreibung des Inhalts
Enthält weitere Kommentare zum Inhalt
Kennzeichnet den Empfang einer Nachricht durch MTA
Felder FROM und DATE müssen vorhanden sein!
Um eine E-Mail zu bearbeiten, muss man mit einem Mail Client auf einen Mail-Server zugreifen. Der
Mail Client kann sich mittels unterschiedlicher Protokolle mit dem Mail-Server verständigen.
3. SMTP – Simple Mail Transfer Protocol
• zuverlässiger und effizienter Transport von Nachrichten
• unabhängig vom Netzprotokoll
• in der Regel wird das Internet übliche TCP verwendet
• Kommunikation erfolgt über Port 25
Seite 2 von 8
“E-Mail Protokolle”
3.1 Kommandos:
EHLO oder HELO
Mail
RCPT
DATA
RSET
VRFY
EXPN
NOOP
QUIT
startet Sitzung & identifiziert Client am Server
startet Mailübertragung
identifiziert Empfänger (bei mehreren Mails wird Kommando mehrmals
ausgeführt)
Server antwortet auf Kommando mit Code 354, wartet auf Übertragung der
Nachricht
Mailtransaktion wird abgebrochen
überprüft Empfängeradresse
meisten MTAs behandeln das Kommando wie VRFY
bewirkt Antwort „250 OK“ vom Server (Aufrechterhaltung der Verbindung)
beendet Verbindung. Server muss Antwort „250 OK“ zurückliefern
3.2 Antwortcodes
211
214
220
221
250
251
252
354
421
450
452
500
501
503
504
550
551
552
553
554
System-Status oder System Hilfe
Hilfe – Informationen zum Ausführen eines Kommandos
Server bereit
Server beendet Verbindung
Kommando ausgeführt
Keine lokale Mailbox; Weiterleitung an „forward-path“
Überprüfung der Empfängeradresse nicht möglich; Nachricht wird dennoch versendet
Startet Empfang der Mail; Beenden mit „CRLF“.„CRLF“
Service nicht verfügbar; Verbindung wird beendet
Aktion abgebrochen - Fehler beim Ausführen
Aktion abgebrochen – Nicht genügend System-Speicher
Syntax-Fehler – Kommando unbekannt
Syntax-Fehler – Parameter oder Argument falsch
Falsche Reihenfolge der Kommandos
Parameter unbekannt / nicht implementiert
Aktion nicht ausgeführt – Mailbox nicht erreichbar (nicht gefunden, kein Zugriff)
Mailbox nicht lokal; „forward-path“ versuchen
Aktion abgebrochen – Fehler bei der Speicherzuweisung
Aktion nicht ausgeführt – Mailbox-Name nicht erlaubt (Syntax inkorrekt)
Transaktion fehlgeschlagen (beim Verbindungsaufbau: Kein SMTP-Service verfügbar)
Envelope: beinhaltet Sender und Empfänger
Header: Client-Kennung & Message-ID
Body: Text der Nachricht
Mit Kommando DAT überträgt Client den Header, gefolgt von einer Leerzeile und dem Body (jede
übertragene Zeile darf nicht länger als 1000 Bytes sein.
3.3 Bsp für Header:
> Received: by xyz.de. id AA00502; Mon, 19 Nov 2001 12:47:32 +0100
> Received: from adam1 (715684625313-0001@[192.168.80.201]) by fwd00.xyz.de
> with smtp id 166Cyz-1KXYRsC; Tue, 20 Nov 2001 16:38:45 +0100
> From: [email protected] (Adam)
> To: [email protected] (Eva)
> Subject: Beispiel-Mail
> Date: Mon, 19 Nov 2001 12:47:31 +0100
> Reply-To: [email protected]
> Message-ID: <[email protected]>
> MIME-Version: 1.0
> Content-Type: text/plain; charset="iso-8859-1"
> Content-Transfer-Encoding: 8bit
> X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)
Seite 3 von 8
“E-Mail Protokolle”
3.4 Erklärung:
• Received: alle SMTP Server, die auf dem Weg zum Sender passiert wurden. Jede Nachricht
erhält eine eindeutige Kennung, die Message-ID (bestehend aus Zahlen und Buchstaben +
Hostadresse des Absenders)
• Zeilenanfang mit „X“: Informationen, die vom Mail-Client hinzugefügt wurden, die sehr wichtig
für den Versand der Nachricht sind.
• Mime-Version, Content Type, Content-Transfer-Encoding: kennzeichnen eine konforme Mail.
• Nachteil: Nach Versand von E-Mail erhält man keine weiteren Informationen über deren
Verbleib.
MUA
WK 1
MTA
DNS
3.5 Merkmale:
• Für Austausch von Mails ist ein so genannter MTA (Mail Transfer Agent) zuständig
(Bekannteste: Sendmail).
• E-Mail Clients übernehmen die Übertragung von und zum Mail Transfer Agent (verwenden
einfache ASCII-Zeichen).
• Client sendet Kommandos zum Server, Server antwortet mit nummerischem Code und einem
optionalen String.
4. POP3 – Post Office Protocol
Standard Protokoll zum Empfangen von Mails.
SMTP
POP3
MUA
WK 1
MTA
WK 2
DNS
Pop3 kann man mit einer Art Mailbox vergleichen. Das Post Office Protocol dient dem Zweck E-Mails
abzurufen.
4.1 Wie funktioniert POP3?
• TCP Transportverbindungen
• Port 110
• ähnlich zu SMTP
• verwendet auch Kommando-Antwort-Schema
Seite 4 von 8
“E-Mail Protokolle”
4.2 POP3 Modell besteht aus 3 Phasen:
1. Authorization State Æ hier muss sich Client authentifizieren
2. Transaction State Æ Client wählt Nachricht die er empfangen möchte und markiert diese, die
er nicht mehr benötigt
3. Update State Æ alle markierten Nachrichten werden gelöscht und die Verbindung wird
beendet
4.3 Beispielsitzung
S= Server
C= Client
4.4 Kommandos:
„Authorization State“
Kommando
USER
PASS
QUIT
Beschreibung
Identifizierung eine Mailbox
Passwort Abfrage
Beendet Verbindung
Seite 5 von 8
“E-Mail Protokolle”
„Transaction State“
Kommando
LIST
RETER
DELE
NOOP
RSET
Beschreibung
Liefert Nummer und Größe aller Mails der Mailbox
Gibt Mail mit übergebener Nummer aus
Löscht Mails mit übergebener Nummer
Aufrechterhaltung der Verbindung mit „+OK“
aktive Verbindung wird zurückgesetzt, nicht gespeicherte Veränderungen gehen
verloren
„Update State“
Kommando
QUIT
Beschreibung
Beendet Verbindung und führt alle gespeicherten Änderungen aus
4.5 Merkmale:
• einfaches Protokoll
• es gibt sehr viele Mail-Programme, die POP unterstützen
• ist ein Client/Server-Protokoll bei dem E-Mails von einem Internet-Server empfangen und
aufbewahrt werden
• primär als Lösung zum offline Lesen von E-Mails gedacht
• vermeidet die Notwendigkeit eines laufenden SMTP Services auf dem Client
5. IMAP – Internet Message Access Protocol
• 1986 an Stanford University entwickelt
• Erweiterung von POP
• Aktuellste Version: seit 1998 IMAP4
• Port 143
5.1 Drei Arten von Kommandos
• Housekeeping operations: AUTHENTICATE, LOGIN, LOGOUT, CAPABILITY, NOOP
• Mailbox operation: SELECT, EXAMINE, CHECK, CLOSE , EXPUNGE, SEARCH, CREATE,
DELETE, RENAME, LIST, LSUB, SBSCRIBE, UNSUBSCRIBE
• Message operations: FETCH, PARTIAL, STORE, COPY, APPEND
5.2 Merkmale:
• Anwender kann seine Mails von überall auf der Welt abrufen
• bevor Mails auf den Rechner kopiert werden, hat man, im Gegensatz zu POP, die Option die
Nachrichten zu selektieren
• über Nachrichtenstatus können Mails auf dem Server z.B. von gelesenen- zu ungelesenen
Mails markiert werden
• gleichzeitig kann man von verschiedenen Rechnern aus auf dasselbe Postfach zugreifen
• gesamte Verwaltung der Nachtrichten geschieht auf dem E-Mail-Server
• Client-Server-Protokoll
• Anwender kann wählen, welche Daten er übertragen will
• zusätzliche Dienste: Lesen von Newsgruppen, Verwaltung von eigenen Diskussionsforen,
hierarchische Mailboxen, Nachrichtenstatus kann verändert werden, ...
• während der gesamten Sitzung erfordert IMAP eine permanente Verbindung
• IMAP-Server sind prinzipiell gegenüber Fehlern von Mail-Clients tolerant (kein Mail Verlust bei
einem Absturz), der Client kann die Server-Folder nicht zerstören
• Die Verbindung zum IMAP-Server kann per SSL (TSL) verschlüsselt werden, damit sind
weder Passwörter noch die übertragenen Mails lesbar.
Seite 6 von 8
“E-Mail Protokolle”
5.3 Beispielsitzung:
S:
*OK [Capability IMAP4 IMAP4REV1
LOGIN-REFERRALS AUTH=LOGIN
C:
a001 LOGIN username password
S:
a001K LOGIN completed
C:
a002 SELECT inbox
S:
*2 EXISTS
*2 RECENT
…
a002 OK …………………[READ-WRITE]SELECT completed
C:
…
C:
a003 LOGOUT
S:
a003 OK LOGOUT completed
S= Server
C= Client
6. POP versus IMAP
Funktion
Unterstützung für den Offline-Modus
Unterstützung für den Online-Modus
Unterstützung für den Discounted-Modus
Mails laufen beim SMTP-Server auf
Für den Empfang von Nachrichten ist kein SMTP-Gateway erforderlich, jedoch für den
Versand
Zugang zu unterschiedlichen Mailboxen möglich
Erlaubt Zugang zu anderen Daten, wie beispielsweise News
Hohe Performance bei Verbindungen über Leitungen mit niedriger Bandbreite
(Modems)
Message-Status-Flags lassen sich bearbeiten
Neue Nachrichten sind mit unterschiedlichen Clients überall im Netz zugänglich
Offene Protokolle; spezifiziert in RFCs
Zusatzprotokoll für die Verwaltung von Benutzereinstellungen verfügbar (Internet
Message Support Protocol, IMSP)
IMAP
X
X
X
X
X
POP
X
X
X
X
X
X
X
X
X
X
X
X
Æ Trotz vieler Vorteile gegenüber POP3 konnte IMAP sich leider noch nicht als Internet-Standard
etablieren. In erster Linie fehlt es von Seiten der Internet Provider an entsprechenden Servern. Grund
dafür sind vermutlich die Ressource-intensiven Serveroperationen. Weitaus besser sieht es aber bei
der Serversoftware aus, alle wichtigen Mailserver unterstützen IMAP, beispielsweise die aktuellen
Versionen des Netscape Messaging Server und des Microsoft Exchange Server,
7. HTTP – Hypertext Transport Protocol
•
Transferprotokoll Standardverfahren zur Übertragung von Dateien im Web
Dieses Verfahren trifft zu, wenn man zum Beispiel eine E-Mail Adresse bei Web.de oder GMX, etc
hat. In diesem Fall geht man Online gibt die Adresse des E-Mail Providers ein und kann über
dessen Server seine E-Mail abrufen und bearbeiten.
Seite 7 von 8
“E-Mail Protokolle”
8. MIME - Multipurpose Internet Mail Extensions
• seit 1993 Standard
• ermöglicht Multimedia Nachrichten (Graphiken, Sound) zu verfassen
• ermöglicht Übertragung von Binärdateien, Codierung (automatisch) bleibt erforderlich damit EMails auch von älteren Mechanismen gelesen werden kann
9. Namensauflösung
E-Mail Adressen bestehen aus:
1. einem Benutzernamen
2. einem Domäne Namen (Domain Name)
3. Benutzer- und Domäne Name, werden durch den so genannten „Klammeraffen“ (@)
voneinander getrennt
4. Domäne Namen werden verwendet um mittels DNS den SMTP Server des Empfängers zu
ermitteln
10. Quellen
• www.tecchannel.de/internet/819
• www.uni-bielefeld.de/hrz/internet/mailinfo/mailinfo.html
• www.rfc-editor.org
• http://www.damaschke.de/mail/protokolle.mail.shtml
• http://www.cosy.sbg.ac.at/~held/teaching/wiss_arbeiten/slides_02-03/ps.pdf
• http://courses.iicm.edu/~hkrott/site/docs/nwa-ws2002/pop3_slides.pdf
• http://fiatlux.zeitform.info/technische_infos/e-mail_prot.html
Seite 8 von 8
Herunterladen