E-Mail Laborübung

Einleitung

Es soll ein Mailserver eingerichtet werden auf den ein Testuser (testuser) lokal und remote über Thunderbird (per IMAP) zugreifen kann.

Der Mail-Server ist auf einer virtuellen Maschinen einzurichten.

HINWEIS: Wenn mit virtuellen Maschinen gearbeitet wird, dann sind die notwendigen Anpassungen auf jeden Fall zu berücksichtigen. Ansonsten wird die Anwendung u.U. nicht funktionieren.

Das Ubuntu Postfix Howto dient als Vorlage und erklärt die einzelnen Schritte, um einen postfix-basierten Mailserver zu konfigurieren. Im Folgenden werden diese in deutsch in leichter Abwandlung erklärt.

Mailserver einrichten

Domain-Name bekannt machen

Im folgenden wird davon ausgegangen, dass KEIN DNS genutzt wird. Damit das System ohne DNS auskommt werden in der /etc/hosts die benötigten FQDN1) FQDN: Full Qualified Domain Name; z.B. yourdomain.com auf dem Mailserver und den eingesetzten Mailclients eingerichtet.

Lokalen Test-User einrichten

Damit eine E-Mail versendet werden kann, wird ein Empfänger benötigt. Dieser wird lokal auf dem Mailserver als normaler Benutzer angelegt. Hierdurch kann dieser Nutzer bereits prinzipiell E-Mails empfangen. Mit dem folgenden Befehl kann ein Testuser testuser eingerichtet werden. Für diesen wird ein neuer Home-Ordner erzeugt -m und die Shell vorgegeben. Im Anschluss muss diesem User noch ein Passwort zugewiesen werden.

useradd -m -s /bin/bash testuser
passwd testuser

Damit kann der User testuser@MAILSERVER mit dem vergebenen Passwort auf sein Postfach zugreifen.

Pakete installieren

Benötigte Pakete:

apt-get install postfix mailutils

Während der Installation von postfix wird der Netztype abgefragt und in welcher Domäne der postfix-Server betrieben werden soll. Hier sind folgende Optionen auszuwählen.

Netztype → lokaler Server

Domäne → Rechnername (ansonsten werden die lokalen Nutzer nicht erkannt)

Optionale Pakete: u.a. dovecot als IMAP-Server

apt-get install dovecot-common

Anpassen der postfix-Konfiguration

Die postfix-Konfiguration befindet sich in /etc/postfix/main.cf. Diese Datei ist an die Gegebenheiten anzupassen. Es gibt zwei Möglichkeiten dies zu tun.

mittels des Befehls postconf

direkt in der Datei

Wenn die zweite Variante gewählt wird, sollte zunächst eine Sicherung der main.cf gemacht werden, damit die Änderungen rückgängig gemacht werden können.

Die folgenden Parameter sind an das eigene System anzupassen:

# Deaktivieren von procmail, falls dies versehentlich während der Installation passiert ist; Optional
mailbox_command =
# FQDN des Mailservers einstellen; hier kann zu Testzwecken der Rechnername verwendet werden, wenn keine Verbindung zum Internet besteht; hier: MAILSERVERNAME
mydestination = MAILSERVERNAME, localhost.localdomain, localhost
# Das Netz, in dem der Mailserver arbeitet; hier: 192.168.0.0/24
mynetworks = 127.0.0.0/8 192.168.0.0/24 [::ffff:127.0.0.0]/104 [::1]/128
# Aktivieren der Schnittstellen, auf denen der Mailserver lauschen soll; hier: alle
inet_interfaces = all
# Aktivieren der Protokolle auf denen der Mailserver reagieren soll; hier: alle
inet_protocols = all

Mit dem folgenden Befehl kann der postfix-Daemon neu gestartet werden bzw. der Status abgefragt werden.

postfix status
service postfix start
service postfix restart
service dovecot restart

Manueller E-Mail Versand

Man kann „zu Fuß“ eine E-Mail per telnet oder wie hier gezeigt mittels netcat versenden. Hierbei werden die einzelnen Bestandteile Schritt für Schritt durchlaufen. Der Server antwortet auf jede Eingabe.

netcat MailServerName 25
ehlo yourdomain.com
mail from: root@yourdomain.com
rcpt to: testuser@MAILSERVERNAME
data
subject: BETREFF
BODY-TEXT
.

E-Mail-Empfang lokal

Die E-Mail wurde bereits an den Testuser versendet (vgl. neuer lokaler Nutzer). Um die E-Mail zu lesen können kann der Befehl mail verwendet werden. Hinweis: Dies muss selbstverständlich als User testuser ausgeführt werden, da er der Empfänger der E-Mail war. Diese Nutzer befindet sich ja als lokaler User direkt auf dem Mailserver.

E-Mail-Empfang per Client (Thunderbird)

Zunächst ist ein neues Konto im Thunderbird ein zu richten. Hierbei muss die Domain mit dem Computername übereinstimmen, da im vorliegenden Szenario OHNE DNS gearbeitet wird.

testuser@MAILSERVERNAME

Der Mailclient Thunderbird akzeptiert diese Vorgehensweise nur widerwillig. Über eine manuelle Konfiguration kann er allerdings dennoch „überredet“ werden.

Weiterführende Informationen

Mit dem folgenden Befehl lassen sich die Mail-Informationen zu einer Domain ermitteln (vgl. auch nslookup): Hinweis: Der DOMAINNAME ist als FQDN anzugeben.

dig mx DOMAINNAME

Mehr Informationen zum dig-Befehl finden sich hier.