Simple Mail Transfer Protocol (SMTP)



Ähnliche Dokumente
Schritt 2: Konto erstellen

Man liest sich: POP3/IMAP

Einrichtung eines -konto mit Outlook Express

POP3 über Outlook einrichten

1 Überblick. A-Z SiteReader Benachrichtigung.doc Seite 1 von 9

Schritt 1: Auswahl Schritt 3 Extras > Konten Schritt 2: Konto erstellen Konto hinzufügen klicken

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

Schritt 1: Auswahl Schritt 3 Extras > Konten Schritt 2: Konto erstellen Konto hinzufügen klicken

Registrierung am Elterninformationssysytem: ClaXss Infoline

DFBnet Postfachsystem Signatur, Automatische Antwort, Weiterleitung

Einrichtung eines -postfaches

STRATO Mail Einrichtung Mozilla Thunderbird

Lieber SPAMRobin -Kunde!

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Kontoname ist Mailanschrift Maximale Mailboxgrösse: Maximale Nachrichtengrösse: Haltezeit der Nachrichten:

Kurzanleitung SEPPmail

Leitfaden zur Nutzung von binder CryptShare

STRATO Mail Einrichtung Apple Mail 8

CNAME-Record Verknüpfung einer Subdomain mit einer anderen Subdomain. Ein Alias für einen Domainnamen.

Erstellen von Mailboxen

Dieses HowTo darf nicht vervielfältigt oder veröffentlich werden ohne Einverständnis des Erstellers. Alle Angaben ohne Gewähr.

Weitere vielseitige Möglichkeiten von SMS im Festnetz

Handbuch für Nutzer von Zertifikaten der Zertifizierungsstellen (CAs) des Bayerischen Behördennetzes (BYBN) zur Sicherung von s Teil D2:

Einrichtung eines -konto mit Thunderbird

Enigmail Konfiguration

FAQ IMAP (Internet Message Access Protocol)

Anlegen eines DLRG Accounts

Konfiguration von Exchange 2000 zum versenden und empfangen von Mails & Lösung des SEND after POP Problems

OUTLOOK (EXPRESS) KONFIGURATION POP3

Einrichtung -Account

Web Interface für Anwender

Wenn Cygwin standardmässig installiert wurde befindet es sich unter C:\cygwin

Anleitung für den Euroweb-Newsletter

Sie befinden sich hier: WebHosting-FAQ -Clients - Einrichtung und Konfiguration Outlook Express Artikel #1

Ein Hinweis vorab: Mailkonfiguration am Beispiel von Thunderbird

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Hochschulrechenzentrum. chschulrechenzentrum #96. Freie Universität Berlin

Kommunikations-Management

1. Loggen Sie sich mit Ihrem Benutzernamen in den Hosting-Manager (Confixx) auf Ihrer entsprechenden AREA ein.

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

POP -Konto auf iphone mit ios 6 einrichten

Bedienungsanleitung für den SecureCourier

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Handbuch Groupware - Mailserver

Ihr Benutzerhandbuch für das IntelliWebs - Redaktionssystem

Sicherer Mailversand des Referats Automatisiertes Auskunftsverfahren (IS14 der Bundesnetzagentur)

So geht s Schritt-für-Schritt-Anleitung

Herzlich Willkommen bei der BITel!

So richten Sie Ihr Postfach im Mail-Programm Apple Mail ein:

Leitfaden zur Nutzung des System CryptShare

STRATO Mail Einrichtung Android 4.4

" -Adresse": Geben Sie hier bitte die vorher eingerichtete Adresse ein.

Einrichtung eines -Zugangs mit Mozilla Thunderbird

1&1 Webhosting FAQ Outlook Express

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

6 Hub Transport Server 6.1 Grundlagen des Message-Routing

DELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach Bremen. Friedrich-Mißler-Straße Bremen

Anleitung. Schritt für Schritt: iphone und ipad. Richten Sie Ihr -Konto mit Ihrem iphone oder ipad Schritt für Schritt ein.

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

Sichere für Rechtsanwälte & Notare

Kurzanleitung zum Einrichten von konten für Outlook Express 6

Konfiguration des Mailtools Messenger in Netscape

Dokumentation zur Versendung der Statistik Daten

Anbindung des eibport an das Internet

Schulungsunterlagen zur Version 3.3

Sie befinden sich hier: WebHosting-FAQ & Unified Messaging -Clients - Einrichtung und Konfiguration Outlook Express Artikel #1

Kurzanleitung OOVS. Reseller Interface. Allgemein

.procmailrc HOWTO. zur Mailfilterung und Verteilung. Stand:

Anleitung zur Konfiguration eines NO-IP DynDNS-Accounts mit der TOOLBOXflex-3.2

SANDBOXIE konfigurieren

IntelliShare -Verschlüsselung. IntelliShare - Anwenderhandbuch. Inhalt. Sicherheit. Echtheit. Vertraulichkeit.

SMS/ MMS Multimedia Center

Import des persönlichen Zertifikats in Outlook Express

WINLINK 2000 SPAM-KONTROLLE UND NACHRICHTEN PRIORITÄTEN Aktualisiert 27. März 2012

How to install freesshd

Anwendungsbeispiele Buchhaltung

MSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003

S Sparkasse Hohenlohekreis. Leitfaden zu Secure

SMS4OL Administrationshandbuch

Outlook Express: Einrichtung Account

Wie starte ich mit meinem Account?

easysolution GmbH easynet Bessere Kommunikation durch die Weiterleitung von easynet-nachrichten per nach Hause

Neue Kennwortfunktionalität. Kurzanleitung GM Academy. v1.0

Spamfilter Einrichtung

. Nachrichtenübertragung. Internetkommunikation Christof Fox. Wie werden Nachrichten Übertragen?

Outlook Express. 1. Schritt: Klicken Sie im Hauptfenster von Outlook Express bitte auf -Konto erstellen...


Hochschulrechenzentrum

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Konfiguration eines DNS-Servers

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Kommunikations-Management

Anleitungen zum KMG- -Konto

So richten Sie Outlook Express ein. Einrichten von Outlook Express (hier am Beispiel von Outlook Express 6) für den Empfang meiner s

Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten!

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

Betriebskonzept Einrichtung

BusinessMail Exchange (SaaS) Einbindung mobiler Endgeräte. Deutsche Telekom Geschäftskunden. Einbindung mobiler Endgeräte

H A N D B U C H OUTLOOK XP / World4You Internet Service GmbH. Hafenstrasse 47-51, A-4020 Linz office@world4you.com

Transkript:

Simple Mail Transfer Protocol (SMTP) Birgit Severin Achim Schmitz Handout_Internetprotokolle WS 02/03 1 Birgit Severin & Achim Schmitz

Simple Mail Transfer Protocol (SMTP) Birgit Severin Achim Schmitz Gliederung 1 Simple Mail Transfer Protocol 1.1 Einleitung 1.2 E-Mail-Systeme 1.3 Entwicklung 1.4 Die E-Mail-Adresse 1.5 Simple Mail Transfer Protocol 1.5.1 Nachrichtenformat (RFC822) 1.5.2 Das Protokoll (RFC 821) 1.5.3 SMTP-Befehle 1.5.4 Reply codes 1.5.5 Relay 1.5.6 MX-Records 1.6 Weiterentwicklung 1.6.1 ESMTP-SMTP Service Extensions 1.6.2 MIME Handout_Internetprotokolle WS 02/03 2 Birgit Severin & Achim Schmitz

1.1 Einleitung Das Simple Mail Transfer Protocol (SMTP) ist das verbreiteste und meistgenutzte Protokoll für den Versand von electronic mail ( E-Mail ) im Internet. Mit dieser Ausarbeitung möchten wir zunächst einen allgemeinen Überblick über die Funktionsweise eines E-Mail-Systems geben und darauf folgend konkreter bzw. detaillierter auf SMTP eingehen. Dies beinhaltet einen kurzen Rückblick auf die Entstehung von SMTP, das primär auf die RFCs 821 und 822 basiert, die an Hand von einigen Beispielen vorgestellt werden sollen. 1.2 E-Mail-Systeme E-Mail-Systeme bestehen aus zwei Subsystemen: a) Benutzeragenten (User Agents, UA) b) Nachrichtentransferagenten (Message Tranfer Agents, MTA) Bei den Benutzeragenten handelt es sich normalerweise um lokale Programme, die dem Benutzer das Empfangen, Bearbeiten und Versenden von Nachrichten ermöglichen, während die Nachrichtentransferagenten in der Regel als Systemdienste im Hintergrund fungieren und für den korrekten Transport der Nachricht zum Empfänger zuständig sind. Ein E-Mail-System weist folgende Grundfunktionen auf: Composition steht für das Erstellen einer Nachricht, was je nach System mit einem simplen Texteditor (z.b. wordpad), auf der Kommandozeile oder innerhalb einer graphischen Oberfläche durchgeführt werden kann. Tranfer steht für den Transport einer Nachricht vom Absender zum Empfänger. Da dies automatisch geschieht (auch ohne Einflussnahme durch den Absender!), muss das E-Mail-System Szenarien für Sonderfälle, wie z.b. bei einem Datenstau auf dem Datenhighway, beherrschen, damit keine Informationen verloren gehen. Die E- Mail könnte schließlich einen alternativen Weg ( Viele Wege führen nach Rom ) nehmen bzw. in eine Warteschleife gesetzt werden bis eine korrekte Übertragung ermöglicht werden kann. Reporting hat die Aufgabe, den Absender über den Status seiner gesendeten Nachricht zu informieren. Er könnte so z.b. vom E-Mail-System darüber informiert werden, ob seine Nachricht überhaupt sein Ziel erreicht hat (Eingangsbestätigung) bzw. bereits gelesen wurde (Lesebestätigung), oder ob sie aus irgendwelchen Gründen nicht gesendet werden konnte. Displaying zeigt dem Benutzer eingegangene Nachrichten an und ruft gegebenenfalls externe Programme auf, die zur Darstellung des Nachrichteninhalts benötigt werden (z.b. Acrobat Reader für pdf-files). Disposition bestimmt, was mit der eingegangenen Nachricht geschieht. Der Benutzer hat hier somit die Möglichkeit, die Nachricht zu speichern, zu löschen oder auf eine andere Art und Weise weiterzuverarbeiten. Handout_Internetprotokolle WS 02/03 3 Birgit Severin & Achim Schmitz

Die fünf zuvor erwähnten Funktionen stellen das Grundgerüst eines E-Mail-Systems dar. Neben diesen Grundfunktionen gibt es natürlich bei verschiedenen Systemen eine große Anzahl weiterer Funktionen, um E-Mail vielseitiger bzw. auch flexibler verwendbar zu machen. Diese sind heutzutage oft mit dem Ziel der maximalen Benutzerfreundlichkeit in bunte Oberflächen (z.b. Outlook Express) eingebunden, so dass der User seine E-Mail simpel verwalten kann, ohne sich mit den Grundfunktionen weiter auseinandersetzen zu müssen. Abbildung 1.1 enthält eine graphische Darstellung der grundlegenden Funktionsweisen eines E-Mail-Systems. Der User Agent stellt dem Benutzer über das user interface die Funktionen des Systems zur Verfügung, damit dieser z.b. Nachrichten empfangen, lesen und verschicken kann. Ausgehende Nachrichten werden zunächst zwischengespeichert, bis sie erfolgreich an den Nachrichtentransferagenten (nachfolgend nur noch MTA genannt) bzw. client übertragen worden sind. Der client überträgt die Nachricht an den Server, wo sie in der Mailbox des Empfängers gespeichert wird. Abbildung 1.1: Funktionsweise eines E-Mail-Systems 1.3 Entwicklung Mit der Einführung des Internets gab es die Möglichkeit, mit anderen Usern zu kommunizieren, ohne telefonieren oder körperlich anwesend sein zu müssen. Die Kommunikationsform der E-Mail kam der Industrie gerade recht. Gegenüber einem herkömmlichen Brief bietet sie zahlreiche Vorteile wie z.b. Schnelligkeit, relative Sicherheit bzw. Zuverlässigkeit und globale Erreichbarkeit, die unabhängig von der momentanen Anwesendheit des Users ist. Bei all diesen Vorteilen sollte jedoch ein entscheidener Nachteil zu dieser Zeit nicht verschwiegen werden: Zu Anfang existierten keine Standards, die den E-Mail-Verkehr regelten. Handout_Internetprotokolle WS 02/03 4 Birgit Severin & Achim Schmitz

1982 entwickelten auf Grund dessen eine Gruppe von Studenten das in RFC 821 beschriebene Simple Mail Transfer Protocol, welches einen Standard für den Austausch zweier Nachrichten zwischen verschiedenen Rechnersystemen festlegt. Das dazugehörige Nachrichtenformat wurde in RFC 822 beschrieben. SMTP ist in seiner Funktionsweise sehr simpel angelegt und konnte sich gegenüber dem Protokoll X.400, welches einige größere Firmen (CCITT) 1984 entwickelten, durchsetzen, da sich das genannte Protokoll mit seinem Umfang und seiner Komplexität kaum zufriedenstellend implementieren ließ und sich somit als benutzerunfreundlich erwies. 1.4 Die E-Mail-Adresse Bevor wir nun konkret auf das Nachrichtenformat (RFC 822) und das Protokoll (RFC 821) eingehen, möchten wir zunächst noch den Aufbau einer E-Mail-Adresse behandeln. Sicherlich hat sich die E-Mail-Adresse heutzutage zu einem standardisierten und allgemein bekannten Adresszusatz etabliert. Dennoch gibt es immer noch Missverständnisse, die wir mit der folgenden Erklärung aus der Welt räumen möchten. peter.lustig@uni-bielefeld.de Lokaler Teil Domain-Name At-Symbol E-Mail-Adressen aus dem Internet erkennt man sofort am markanten Symbol des Klammeraffens (im Englischen als At-Symbol bezeichnet, gespr.: Ätt), der unvermeidlich ist, um den lokalen Teil einer E-Mail-Adresse vom Domain-Namen zu trennen. Der Domain- Name entstammt dem Domain-Name-System des Internets. Es dient dazu, den im Internet angeschlossenen Rechnern Namen zu verleihen, damit man nicht immer die vierstelligen IP- Adressen eintippen muss. Im Rahmen des E-Mail-Systems wird der Domain-Name vordergründig genutzt, um die Zugehörigkeit eines Adressaten zu einer größeren Gruppe auszudrücken. Der angegebene Domain-Name dient vor allem dazu, einen passenden Mail- Server ausfindig zu machen, dem eine Nachricht zugeleitet werden kann. Vor dem Klammeraffen steht der eigentliche Adressat, der unter dem hier angegebenen Namen in der jeweiligen Domain bekannt sein muss, damit die Nachricht zugestellt werden kann. Die Postadresse sozusagen. Weil das Internet auch als Brücke zu anderen Mail- Systemen dienen soll, beispielsweise zu denen von AOL, MSN und anderen, wurde für die Kodierung dieser Empfängerkennung kein bestimmtes Format vorgegeben. Es kann ein Name, eine Ziffernfolge oder eine scheinbar sinnlose Buchstaben und Zeichenkombination angegeben werden, solange der Mail-Server der angegebenen Domain als priorisierter Empfänger der Nachricht dieses Format und diese Information versteht und die Nachricht dadurch dem richtigen Postfach zustellen kann. Handout_Internetprotokolle WS 02/03 5 Birgit Severin & Achim Schmitz

1.5 Simple Mail Transfer Protocol 1.5.1 Nachrichtenformat (RFC 822) Das RFC 822 legt fest, dass eine E-Mail aus zwei Teilen bestehen muss, um die angestrebte Automatisierung zu erreichen, nämlich aus den Header-Feldern und dem Body. Typische Header Felder sind Date für das Absendedatum, From für die Absenderadresse, Subject als moderne Betreffzeile und nicht zu vergessen To als Empfängeradresse. Die Automatisierung wird ermöglicht, da der MTA aus diesen und anderen noch vorhandenen Informationen eine Verpackung, Envelope (mit einem Umschlag eines Briefes vergleichbar, definiert in RFC 821), erstellt und so alle wichtigen Informationen den MTAs auf dem Weg zum Ziel zu präsentieren. Weiterhin schreiben die einzelnen MTAs, die die Mail weiterleiten, ihre Daten als jeweils neuen Header auf den Envelope bzw. hängen die Informationen an die ursprüngliche Mail an, ohne deren Inhalt zu verändern. Im Envelope ist der eigentliche Inhalt der E-Mail, der sogenannte Body, verpackt. RFC 822 legt zudem fest, dass die E-Mail nur NVT-ASCII-Zeichen enthalten darf. Dieser Punkt stellt heutzutage eine Einschränkung dar, auf die wir noch später eingehen werden. Umschlag Nachricht Umschläge und Nachrichten: (a) Postsystem, (b) E-Mail-System // NVT_ASCII Zeichensatz Abbildung 1.2: Vergleich des Aufbaus von Brief und E-Mail In der Abbildung Vergleich des Aufbaus von Brief und E-Mail kann man die überraschend zahlreichen Gemeinsamkeiten einer E-Mail mit einem Brief erkennen. Handout_Internetprotokolle WS 02/03 6 Birgit Severin & Achim Schmitz

1.5.2 Das Protokoll (RFC 821) Das Protokoll RFC 821 definiert einen Standard für den Austausch von E-Mails zwischen zwei MTA s. Auf Grund zahlreicher Weiterentwicklungen stellt SMTP auch heute trotz seines Alters noch einen Standard dar. Im folgenden Abschnitt soll zunächst das Funktionsprinzip der ursprünglichen Version erklärt werden. Der Versand einer E-Mail erfolgt in der Regel transparent für den Benutzer, d.h. dieser arbeitet mit einem User Agent zum Empfangen, Lesen und Versenden von E-Mail. Der eigentliche Transport findet automatisch ohne Einfluss des Benutzers statt. Abbildung 1.3: E-Mail mit SMTP Das Schaubild 1.3 E-Mail mit SMTP zeigt eine schematische Darstellung des Nachrichtentransportes. Die Nachricht wird mit einem User Agent erstellt und an einen MTA übertragen. Dieser hat im folgenden die Aufgabe, die Nachricht über das Internet an den MTA des Empfängers weiterzuleiten, das abhängig von den beteiligten Systemen auf mehr oder minder direktem Weg geschehen kann. Dieses Verfahren ist textbasiert, d.h. die Kommunikation zwischen zwei MTAs ist für uns Menschen direkt lesbar und nachvollziehbar. Es wird wie bereits in der eigentlichen Nachricht NVT-ASCII verwendet. Zunächst baut der MTA des Absenders (nachfolgend Client genannt) eine TCP-Verbindung zu Port 25 des Empfänger-MTAs (Server) auf. Der Client kann dann Befehle an den Server senden, worauf dieser jeweils mit einem dreistelligen Reply code und einem optionalen Textstring antwortet. Im Gegensatz zu anderen Internet-Protokollen (z.b. FTP) ist die Menge der Befehle bei SMTP eher gering. Handout_Internetprotokolle WS 02/03 7 Birgit Severin & Achim Schmitz

1.5.3 SMTP-Befehle RFC 821 fordert für eine gültige Implementation des Protokolls nur acht Befehle (minimaler Befehlssatz), von denen nur fünf für den E-Mail-Versand essentiell sind (siehe blaue Formatierung!). HELLO <Hostname> - eine Art Begrüßung ( Hello ), in welcher der Client dem Server seine Identität in Form des FQDN (fully qualified domain name) mitteilt MAIL FROM: <Adresse> - Einleitung der Übertragung einer Nachricht, enthält die Adresse des Absenders als Parameter RCPT TO: <Adresse> - Festlegung der Empfänger-Adresse(n) DATA Einleitung der Übertragung des eigentlichen Nachrichteninhaltes QUIT Beendet die Verbindung RSET Zurücksetzung der Verbindung; bereits eingegebene Daten werden verworfen (Reset) VRFY <Adresse> - Überprüft, ob eine bestimmte Adresse dem Server als gültiger Empfänger bekannt ist (Verify) NOOP Löst nur eine kurze Antwort des Servers aus; keine weitere Wirkung (No Operation) U.a. folgende Befehle sind optional und daher nicht essentiell in jeder SMTP-Implementation vorhanden: EXPN <Adresse> - Auflösung einer Mailing-Liste HELP <Befehl> - Ruft Informationen zu dem als Parameter angegebenen Befehl auf TURN Vertauschung der Client-Server-Rollen: Ermöglicht den Versand von Nachrichten in die andere Richtung ohne erneuten Verbindungsaufbau Handout_Internetprotokolle WS 02/03 8 Birgit Severin & Achim Schmitz

1.5.4 Reply codes Wie bereits erwähnt, reagiert der Server mit einem sogenannten Reply code, einer dreistelligen Zahl und einem für den Menschen lesbaren Textstring (optional). Die Reply codes sind in verschiedene Kategorien und Unterkategorien eingeteilt. Übersetzungstabelle für Reply codes 1yz Positiver Beginn eines Befehls. Weitere Eingabe erforderlich 2yz Positive Beendigung eines Befehls. Weitere Befehle möglich 3yz Positiver Zwischenzustand. Weitere Eingaben müssen folgen 4yz Transientes Problem. Befehl nicht ausgeführt. Eingabe wiederholen 5yz Definitives Problem. Befehl nicht wiederholen x0z Syntax eines Befehls x1z Allgemeine Information x2z Verbindungszustand x3z Nicht spezifiziert x4z Nicht spezifiziert x5z Statusmeldung xyz z = Weitere Unterteilung / Nummerierung der Meldung Als Beispiel sei hier der Code 220 gezeigt: 1. Zahl (2): signalisiert client Befehl fehlerlos ausgeführt 2. Zahl (2): signalisiert client Verbindung ist hergestellt 3. Zahl (0): signalisiert client alles OK, weitere Befehle möglich Einige Beispiele für Reply codes mit dem jeweils zugehörigen Textstring: 220 domain Service ready 450 Requested mail action not taken: mailbox unavailable 553 Requested action not taken: mailbox name not allowed 554 Transaction failed Handout_Internetprotokolle WS 02/03 9 Birgit Severin & Achim Schmitz

Ein einfaches Beispiel eines Mail-Versands mit dem SMTP-Protokoll. Bemerkung: Die den Zeilen vorangestellten Kürzel für Server bzw. Client und die zusätzlichen Leerzeichen zwischen den einzelnen Befehlen wurden nur zum besseren Verständnis hinzugefügt. (S: Server, C: Client) S: 220 Beta.GOV Simple Mail Transfer Service Ready C: Helo Alpha.EDU S: 220 Beta.GOV C: Mail From:<Smith@Alpha.EDU> S: 250 OK C: RCPT TO:<Jones@Beta.GOV> S: 250 OK C: RCPT TO:<Green@Beta.GOV> S: 550 No such user here C: RCPT TO:<Brown@Beta.GOV> S: 250 OK C: DATA S: 354 Start mail input; end with <CR><LF>.<CR><LF> C:...sends body of mail message... C:...continues for as many lines as message contains... C: <CR><LF>.<CR><LF> S: 250 OK C: QUIT S: 221 Beta.GOV Service closing transmission channel Erklärung: In diesem Beispiel sendet der Benutzer Smith vom Host Alpha.EDU eine Mail an die drei Empfänger Jones, Green und Brown am Host Beta.GOV. Dazu baut der SMTP- Client von ALPHA.EDU zunächst eine TCP-Verbindung zu Port 25 von Beta.GOV auf. Der Server liefert zunächst eine Statusmeldung, in der er sich identifiziert und seine Bereitschaft zur Annahme von E-Mails bestätigt. Der Client identifiziert sich ebenfalls. Handout_Internetprotokolle WS 02/03 10 Birgit Severin & Achim Schmitz

Der Client leitet nun mit dem Mail-Befehl die Übergabe der Nachricht ein, übermittelt Sender und Empfänger sowie den eigentlichen Nachrichteninhalt und beendet schließlich die Verbindung. Bei der Angabe des Empfängers Green@Beta.GOV reagiert der Server mit einer Fehlermeldung, erkennbar an dem Reply code 550 und der Meldung No such user here : Dem System ist kein Benutzer bekannt, dementsprechend wird die Annahme verweigert. Das Protokoll legt nicht fest, wie der Client auf solche Fehlermeldungen zu reagieren hat. Die sinnvollste und auch übliche Methode ist es aber, wie hier im Beispiel, den Vorgang nicht vollständig abzubrechen, sondern mit den anderen gültigen Empfängern fortzufahren. Nun folgt ein echtes, unverändertes Beispiel für eine SMTP-Session. Zunächst habe ich, aschmitz, mit Hilfe des Programms putty über SSH eine Verbindung zum Universitäts-Server hergestellt. SSH bedeutet Secure Shell. Das Programm putty setzt moderne Verschlüsselungs- und Authentisierungsverfahren für den Remotezugriff auf einen Rechner ein, d.h., es wird eine sichere Verbindung via Termialprogramm, z.b. eine Rechnerzu-Rechner-Verbindung via Telefonleitung, generiert. Schließlich wird wieder eine Verbindung zum Port 25 vom SMTP-Server hergestellt (Name des Servers: momotombo ). Dieser meldet sich mit dem Reply code 220 und identifiziert sich im dazugehörigen Textstring. Es folgt die Begrüßung bzw. Identifizierung des Clients (hier: popocatepetl ), woraufhin der Server erneut mit einer Statusmeldung antwortet. In diesem Fall habe ich, aschmitz, eine E-Mail an den user dsieger geschickt und anschließend die Verbindung beendet. Handout_Internetprotokolle WS 02/03 11 Birgit Severin & Achim Schmitz

1.5.5 Relay Unter Relay bzw. Relaying versteht man die Zwischenspeicherung von E-Mails auf einem Server, der nicht selbst der Empfänger-MTA ist, sondern die Nachricht an diesen weiterleitet. one organization one organization Abbildung 1.4: Schema eines Relay-Systems Handout_Internetprotokolle WS 02/03 12 Birgit Severin & Achim Schmitz

Dieses Konzept bietet einige Vorteile: Erhöhte Ausfallsicherheit Besserer Netzwerkaufbau (in Bezug auf Sicherheitsaspekten) Ursprünglich galt im Internet ein gewisses Jeder hilft jedem -Prinzip, d.h. MTAs nahmen in der Regel auch E-Mails von ihnen unbekannten Absendern an ihnen unbekannte Empfänger an. Mit zunehmenden User-Zahlen des Internets entstanden aber immer öfters Probleme, wenn diese Prozedur z.b. zum massenhaften Vesand von Spam mißbraucht wurde. Um diesen Mißbrauch zu verhindern, ist heute das Relay normalerweise stark eingeschränkt. Viele Relay-Systeme nehmen nur E-Mails an, wenn der Empfänger ein lokaler, bekannter User ist. Oft wird auch der Mailversand auf bestimmte IP-Adressräume eingeschränkt und die Adressen bekannter Spammer gesperrt. 1.5.6 MX-Records Bislang sind wir davon ausgegangen, dass der Empfänger-MTA direkt mit dem Internet verbunden ist und sein Domainname mit dem Domainteil der E-Mail-Adressen übereinstimmt. Der MX-Record (Mail Exchange Record) ist ein spezieller DNS-Eintrag, der die Konfiguration von E-Mail-Systemen vereinfacht, indem dem Domainteil einer E-Mail- Adresse ein bestimmter Mail-Server zugewiesen wird. Dies ermöglicht den Versand von Nachrichten an Systeme ohne direkte Internet- Anbindung, oder auch die Festlegung von alternativen Servern für den Fall, dass der reguläre Empfangs-MTA nicht zur Verfügung steht. Beispiel: Abfrage des MX-Record von techfak.uni-bielefeld.de Handout_Internetprotokolle WS 02/03 13 Birgit Severin & Achim Schmitz

Von besonderer Bedeutung sind hier die zwei Zeilen mit den MX preferences -Einträgen: Hier wird bestimmt, welche Rechner für die Entgegennahme von E-Mails an Adressaten innerhalb der Domain techfak.uni-bielefeld.de zuständig sind. Die Einträge weisen zwei Werte auf: a) Mail Exchanger gibt den zu verwendenen Rechner an. b) Preference ist eine Prioritätsangabe. Sendene MTAs versuchen zunächst immer die Nachrichten dem MTA mit dem niedrigsten Wert zu übergeben; erst wenn dieser nicht erreichbar ist, wird der Rechner mit dem nächsthöheren Wert benutzt. 1.6 Weiterentwicklung 1.6.1 ESMTP SMTP Service Extensions Das Protokoll wurde bereits 1982 veröffentlicht und seitdem ständig weiterentwickelt. Die Erweiterungen werden als SMTP Service Extensions bezeichnet. Man spricht auch von ESMTP (Extended SMTP). Die entsprechenden Erweiterungen werden wie das ursprüngliche Protokoll selbst in RFCs beschrieben und bei der IANA (Internet Assigned Numbers Authority) registriert. Eine Besonderheit besteht darin, dass alle Erweiterungen abwärtskompatibel sind und somit alle bestehenden Implementationen nicht beeinflusst werden. In der Praxis verhält sich ESMTP daher analog zu SMTP. Es werden jedoch weitere Funktionen unterstützt. Wie im nachfolgenden Beispiel gezeigt, macht der Server die Unterstützung von ESMTP zu Anfang der Session bekannt. Der Client begrüßt den Server nun mit einem EHLO (für Extended Hello ), woraufhin dieser eine mehrzeilige Antwort zur Bekanntmachung der verfügbaren Funktionen liefert. 220 momotombo.techfak.uni-bielefeld.de ESMTP Sendmail 8.9.1/8.9.1/ Techfak/pk+ro20010702; Wed, 5 Feb 2003 12:46:43 +0100 (MET) EHLO localhost 250-momotombo.Techfak.Uni-Bielefeld.DE Hello pd9e04337.dip.t-dialin.net [217.224.67.55], pleased to meet you 250-EXPN 250-VERB 250-8BITMIME 250-SIZE 8388608 250-DSN 250-ONEX 250-ETRN 250-XUSR 250-HELP Handout_Internetprotokolle WS 02/03 14 Birgit Severin & Achim Schmitz

Die einzelnen Zeilen beginnen mit dem Reply code 250, darauf folgt ein Keyword (mit optionalem Parameter) zur Beschreibung der Funktion. EXPN steht so z.b. für die Unterstützung des Expand-Befehls zur Auflösung von Mailing-Listen und SIZE 8388608 gibt die maximal erlaubte Größe anzunehmender E-Mails an (hier ist die Dateigröße in Byte der Parameter). Neben dem Protokoll wurde aber auch das Nachrichtenformat weiterentwickelt, da es in seiner ursprünglichen Form, wie in RFC 822 beschrieben, einige Einschränkungen enthält: Es werden nur Textnachrichten unterstützt. Es ist nur ein Zeichensatz definiert (7-Bit US-ASCII). Die Zeilen sind auf maximal 1000 Zeichen beschränkt. 1.6.2 MIME Die fundamentalen Ziele der Weiterentwicklung des Nachrichtenformats bestanden aus folgenden Punkten: Unterstützung anderer Zeichensätze (Nachricht & Header-Felder) Andere Formate für den Body der Nachricht (z.b. Audio- und Videodateien) bzw. mehrere Formate innerhalb einer E-Mail Diese Eigenschaften wurden durch den MIME-Standard (Multipurpose Internet Mail Extensions, RFCs 2045-2049) realisiert. Die Funktionsweise möchten wir im folgenden nur kurz anreißen : Es werden allgemein zusätzliche Header-Felder für die Speicherung der benötigten MIME- Informationen benutzt, während die entsprechenden Inhalte in eine ASCII-Darstellung umgerechnet werden. Diese können schließlich vom Empfänger wieder in die ursprüngliche Form tranferiert werden. Der Umweg über die ASCII-Darstellung vergrößert zwar etwas den Umfang der Nachricht, dafür wird aber die Kompatibilität mit älteren Implementationen des Protokolls gewahrt. Zudem müssen nur die Benutzeragenten an die Veränderungen angepasst werden. Hiermit sind wir auch am Ende unseres Handouts angelangt und hoffen, dass wir mit unserer Ausarbeitung etwas Licht in den dunklen SMTP-Tunnel bringen konnten. Kontakt: birgit.severin@hotmail.com achim.schmitz@uni-bielefeld.de Mit freundlichen Grüßen Handout_Internetprotokolle WS 02/03 15 Birgit Severin & Achim Schmitz

Birgit Severin Achim Schmitz Handout_Internetprotokolle WS 02/03 16 Birgit Severin & Achim Schmitz