Duisburger Linux User Group - http://www.dulug.de
Stammtisch 07.01.2005: E-Mail - Aufbau und Versand
Keine Garantie auf Vollständigkeit und/oder Funktionalität!!!
Autor: M. Franke
Aufbau eine E-Mail-Adresse:
Eine E-Mail-Adresse ist immer eindeutig und kann nicht doppelt vergeben sein. Im
Beispiel soll die E-Mail-Adresse dulug-list@dulug.de kurz beschrieben werden:
dulug-list:
Name des Empfängers
@:
Trennzeichen zwischen Empfänger und Postfach (Klammeraffe oder engl. AT)
dulug.de:
Name des Postfachanbieters, meisstens der Internetprovider
Aufbau eine E-Mail:
Eine E-Mail selbst ist ursprünglich im lesbaren Text-Format und besteht aus
einem Header in dem relevante Informationen zur E-Mail selbst drin stehen und
dem Body, der die eigentlich Nachricht enthält.
Beispiel für den Header (unvollständig) gefolgt vom Body:
...
From: Marek Franke <mfranke78@yahoo.de>
To: dulug-list@dulug.de
Subject: [dulug-list] Stammtisch
Date: Mon, 3 Jan 2005 20:16:26 +0000
User-Agent: KMail/1.7.1
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
...
Wollte nochmal an den Stammtisch der jetzt am Freitag stattfindet erinnern.
Zudem möchte ich darum bitten das alle vorbeikommen die was zum Linuxgrillen
beitragen wollen.
Gruss und Danke, Marek
Anhand der Information die im Header stehen kann man jetzt schon einiges über
die E-Mail erfahren: wer die Mail geschrieben hat (bzw. von welcher Adresse die
E-Mail losgeschickt worden ist), wohin sie gehen soll, den Betreff, das Datum, der
E-Mail-Agent (das E-Mail-Programm das verwendet wurde) usw. Vielen ist
vielleicht schonmal das Wort MIME über den Weg gelaufen aber wissen nicht so
genau was damit gemeint ist. MIME ist eine Abkürzung und heisst Multipurpose
Internet Mail Extensions (wörtlich übersetzt: Mehrzweck Internet Mail
Erweiterungen). Ursprünglich konnte man E-Mail nur mit Informationen füllen die
dem US-ASCII-Text einhielten. Viele Nutzer wollten aber auch Multimedia-Inhalte
(Bilder, Töne, Videos etc.) und Texte versenden die nicht an den US-ASCII-Text
gebunden waren. Dies ermöglichen die 7 verschieden MIME-Typen: text (default),
image, audio, video, message, multipart und application. Man kann sich die
Erweiterung ähnlich dem jetztigen Vorgang mit SMS vorstellen, zuerst konnte
man nur reine Text-Nachrichten verschicken (SMS) und seit geraumer Zeit kann
man auch Bilder versenden (MMS) usw. Wie man oben im Beispiel-Header sieht
ist die E-Mail im Text-Format verschickt worden.
Versand einer E-Mail:
Zum versenden von E-Mails benutzt man das SMTP (SMTP - Simple Mail Transfer
Protocol). Das SMTP kann nicht dafür benutzt werden um E-Mails zu Empfangen
(siehe unten POP3), sondern dient wirklich nur der Kommuniktaion zwischen zwei
Servern (siehe auch weiter unten Postfix) bzw. der Kommunikation zwischen
Server und Client sofern man nur E-Mails versenden will! Das SMTP ist rein
textbasiert und hat somit den Vorteil das man die Befehle zum Versand einer E-
Mail auch z.B. über eine Telnet-Sitzung verarbeiten kann. Unter anderem können
Spammer so auch E-Mail-Adressen (also die Ursprungs-Adresse - denn darauf
kommt es ja an) fälschen. Um das mal auszuprobieren kann jeder den SMTP-
Server seines Providers nutzen. Um nun telnet zu starten gibt man in der Shell das
Kommando telnet gefolgt vom SMTP-Server seines Providers ein gefolgt vom Port.
Der SMTP-Port ist meisstens 25, ansonsten kann man auch in der Regel direkt
smtp eingeben:
$ telnet mail.arcor.de smtp
Trying 151.189.21.116...
Connected to mail.arcor.de.
Escape character is '^]'.
220 mail-in-08.arcor-online.net ESMTP arcor.de Mailservices usermail
HELO xyz.abc.de
250 mail-in-08.arcor-online.net
MAIL FROM:<xyz@abc.de>
250 Ok
RCPT TO:<mfranke78@yahoo.de>
250 Ok
DATA
354 End data with .
FROM: xyz@abc.de
TO: mfranke78@yahoo.de
SUBJECT: SPAM DULUG
Hallo DuLUG
.
250 Ok: queued as C2B402E02F
quit
221 Bye
Connection closed by foreign host.
$
Schauen wir uns die einzelnen telnet-Kommandos mal genauer an. Zuerst bauen
wir eine Verbind zum SMTP-Server auf (hier ist es Arcor):
$ telnet mail.arcor.de smtp
Danach erhalten wir die Meldung das Versucht wird ein Verbindung aufzubauen
und anschliessend wird die erfolgreiche Verbindung quittiert. Nun geben wir
unser erstes SMTP-Kommando ein:
HELO xyz.abc.de
Damit sagen wir dem Server wer wir sind, bzw. da wir hier spammen wollen geben
wir an der Stelle nur vor wer wir sind. Als nächstes fälschen wir unsere E-Mail-
Adresse:
MAIL FROM:<xyz@abc.de>
Und nun geben wir unseren Empfänger ein:
RCPT TO:<mfranke78@yahoo.de>
Im Prinzip haben wir jetzt alle relevanten Angaben gemacht, fehlt nur noch der
Inhalt den wir versenden wollen:
DATA
Nach Eingabe des Befehls DATA erhalten wir noch einen Hinweis wie die
Dateneingabe wieder beenden können, in dem Fall <CR><LF>.<CR><LF>
Das heisst wir müssen einmal Enter drücken, den Punkt und nochmal Enter
Drücken. CR heisst Carriage Return und LF heisst Line Feed und beschreibt das
was die Enter-Taste auch macht: mit CR erreichen wir einen Wagenrücklauf (der
Cursor springt zurück an den Anfang zum 1. Zeichen) und LF verursucht ein
Zeilenvorschub (der Cursor springt in die nächste Zeile).
Nun zurück zur Dateneingabe! Wir haben ja eben alle nötigen Eingaben dem
SMTP-Server mitgeteilt, wer wir sind. von wem die E-Mail kommen soll und an
wen die E-Mail versendet werden soll. Das sind Angaben die der Server
verarbeitet und die nicht wie oben beschrieben im Mail-Header erscheinen, d.h.
erst nach der eingabe von DATA sind wir auch wirklich in der Lage den Mail-
Header zu fälschen:
FROM: xyz@abc.de
TO: mfranke78@yahoo.de
SUBJECT: SPAM DULUG
Hallo DuLUG
Zugleich habe ich hier noch die Betreffzeile (Subject) definiert und danach folgt
der eigentliche Text der im Mail-Body erscheint. Prinzipiell wäre es auch möglich
einen anderen Empfänger anzugeben da wir dem SMTP-Server ja schon den
richtigen Empfänger angegeben haben! Wenn wir mit der Dateneingabe fertig
sind (Enter-Punkt-Enter) können wir unsere Telnet-Sitzung beenden:
quit
Danach wird die E-Mail zugestellt.
Empfang einer E-Mail:
Hinter dem Empfang einer E-Mail steckt eigentlich nichts sonderlich
Spektakuläres weshalb ich hier nicht grossartig drauf eingehen will. Das
Gegenstück zu SMTP ist halt POP3 (Post Office Protocol Version 3) und wird nur
zum Abholen einer E-Mail und zum Löschen einer E-Mail auf einem Server
benutzt. Leider gibt es bei POP3 keine Möglichkeiten wie oben um sich so gegen
Spam zu schützen sondern Bedarf einiger Erweiterungen. Natürlich kann man
aber auch wie oben mit einer Telnet-Sitzung seine E-Mail vom Server abholen!
Schutz gegen Spam:
Eins vorweg: gegen Spam ist kein wirkliches Kraut gewachsen! Es gibt
verschiedene Möglichkeiten und Ansätze die mehr oder weniger gut bzw. schlecht
Spam ausfiltern können.
1. Mail-Provider:
Eine Möglichkeit ist das man sich einen Mail-Provider sucht der Spam direkt
selbst ausfiltert. Man muss nur noch angeben was mit dieser Mail geschehen soll,
z.B. kann man so den Server anweisen das eine Spam-Mail in einem speziellen
Ordner gespeichert werden oder direkt gelöscht werden soll. An der Stelle sei z.B.
Yahoo zu erwähnen. Natürlich ist auch möglich auf seinem lokalem Rechner einen
Mail-Server zu installieren und so Spam-Mails selber zu filtern.
2. Mail-Client:
Einige Mail-Clients bieten die Möglichkeit an bestimmte Filter zu definieren. Diese
sind dann aber nur so gut wie der Anwender selbst diese Filter regelt. Z.B. ist es
so möglich bestimmte E-Mails die von einer bestimmten Adresse kommen direkt
auf dem Server zu löschen.
3. Spamassassin:
Spamassassin ist ein Spamfilter der E-Mails nachdem abholen vom Server auf
typische Spam-Sätze wie z.B. "...strong buy..." etc filtert. Spamassassin soll
allerdings recht Ressourcenfressend sein aber dabei ca. 90% aller Spam-Mails
heurausfiltern können. Zudem soll auch die Installation recht einfach sein und
man kann Spamassassin unter http://www.spamassassin.org herunterladen.
Weiterführende Links zum Thema:
Mailserver Postfix:
http://www.linuxnetmag.com/de/issue8/m8mailserver1.html
Desweiteren kann man Postfix auch weiter ausbauen: Webmail (Squirrelmail),
Faxgateway (HylaFAX), Anrufbeantworter (VBOX)
Spam:
http://www.linuxfocus.org/Deutsch/January2003/article279.shtml
http://www.spamassassin.org
|