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