E-Mail-Server unter Windows

Ein eigener Mail-Server schont die Internetleitung und schützt die Privatsphäre, weil interne Mails das Haus nicht verlassen. Mit kostenloser Software ist er unter Windows schnell aufgesetzt.

In Pocket speichern vorlesen Druckansicht 21 Kommentare lesen
Lesezeit: 16 Min.
Von
  • Johannes Endres
Inhaltsverzeichnis

Ein eigener Mail-Server schont die Internetleitung und schützt die Privatsphäre, weil interne Mails das Haus nicht verlassen. Mit kostenloser Software ist er unter Windows schnell aufgesetzt.

Der hier vorgestellte Server holt die E-Mail für die ganze Domain von einem Dienstleister; ausgehende Mail kippt er gesammelt beim Dienstleister ab. Dessen Server-Adresse ist als legitimer Versender für die Kunden- Domain verzeichnet, sodass Spam-Filter beim Empfänger die Füße stillhalten. Allerdings macht die Methode beim Anlegen neuer User Arbeit: Der Mail-Admin muss sie beim Dienstleister und auf dem eigenen Server mit gleichem Namen eintragen.

Beim Mail-Provider genügt das billigste Paket, das eine eigene Mail-Domain und genügend Adressen enthält; viel Speicher braucht es nicht, denn die Nachrichten lagern ja nur bis zum nächsten Abruf beim Dienstleister. Als Mailserver-Software empfiehlt sich die Freeware hMailServer. Sie entspricht zwar professionellen Ansprüchen und läuft sogar bei einigen kommerziellen Mail-Diensten, ist aber einfach einzurichten, wenn man weiß, wo man hinklicken muss.

An den Windows-Rechner stellt hMail-Server keine besonderen Anforderungen. Dieser Artikel beschreibt die Installation auf dem aktuellen Windows Home Server 2011, weil der das mit Abstand billigste Server-Windows ist. Doch bis auf wenige WHS-Spezifika funktioniert der Ablauf auf allen Windows-Versionen genau so – auch auf Desktop-Windows. Als Vorbereitung richten Sie beim Dienstleister mindestens einen User ein und schicken ihm von einer anderen Adresse eine Test-Mail.

Zum Download des hMailServer-Installers eignet sich ein Client des Home Servers besser als der Server selbst, weil dessen Browser aus Sicherheitsgründen Downloads sehr erschwert. Vom Client kopieren Sie anschließend den Installer in eine Freigabe des Servers, zum Beispiel in die "Dokumente". Falls am Server kein Bildschirm hängt, loggen Sie sich nun mit dem Programm "Remotedesktopverbindung" auf dem Server ein, und zwar mit dem User-Namen "Administrator" und dem "Dashboard"-Passwort, das Sie bei der Server-Installation vergeben haben. Das Installationsprogramm findet sich dann auf dem Server unterhalb des Ordners D:\ServerFolders. Durch die Installation klicken Sie sich einfach mit den jeweiligen Vorgaben hindurch. Wer einen zusätzlichen SQL-Server betreibt und Informationen zu den Mails dort ablegen möchte, kann das auswählen. Wir gehen hier aber von der Standard-Auswahl aus, die einen Mini-Server (MS SQL-Server Compact) selbst mitbringt.

Falls die Windows-Firewall jetzt fragt, ob das Programm hmailserver an einem Port lauschen darf, lassen Sie dies zu. Andernfalls richten Sie die nötige Ausnahme manuell ein: ins Start-Feld "Firewall" eintippen und den Punkt "Windows-Firewall" anklicken. Dort auf "Ein Programm … zulassen" klicken, dann "Anderes Programm zulassen…". Im nächsten Dialog hangeln Sie sich mit "Durchsuchen" zum Programm hmailserver.exe im Ordner "Bin" des Installationsverzeichnisses durch. Auf 64-Bit-Systemen liegt der in "Programme(x86)", weil hMailServer ein 32-Bit-Programm ist. "Hinzufügen" und dann "OK" klicken, bis alle Dialoge geschlossen sind.

In der Datenbank landen nur Statusinformationen zur Mail; die Nachrichten legt hMailserver einzeln auf die Platte. Dummerweise ist dafür ein Unterverzeichnis des Programmordners voreingestellt. Doch auf der Systempartition ist auf die Dauer nicht genug Platz und ein nachträglicher Umzug ist kompliziert. Um die Daten gleich an eine sinnvolle Stelle zu legen, erzeugen Sie zunächst im Dashboard einen zusätzlichen Freigabeordner, auf den aber kein User Zugriff erhält. Im Beispiel nennen wir ihn hMailServer.

SMTP-Login wird im Konfigurationsbereich "IP Ranges“ aktiviert.

Dann rechtsklicken Sie auf die Datei hmailserver.ini im Ordner Bin und wählen "Bearbeiten" aus dem Kontextmenü. Ziemlich weit oben beginnt eine Zeile mit "Data-Folder". Tragen Sie dahinter den kompletten Pfad ein, und zwar die lokale Variante, im Beispiel also D:\ServerFolders\hMailServer. Sichern, beenden.

Zur weiteren Konfiguration dient das Programm "hMailServer Administrator", das im Programmmenü zu finden ist und bei einem aktuellen Windows schon als Symbol in der Taskleiste liegt. Ein Doppelklick auf die Zeile mit "localhost" stellt die Verbindung zum Server her; das Passwort haben Sie während der Installation vergeben.

Die "Getting started"-Seite schlägt vor, eine Domain einzurichten. Folgen Sie dem Vorschlag. Alle anderen Einstellungen sind vorerst noch nicht nötig oder nur sinnvoll, wenn der Server die Mail direkt per SMTP auf Port 25 annimmt.

Gegenüber dem Server des Providers benimmt sich hMailServer wie ein Client. Welche Einstellungen nötig sind, verraten die Hilfe-Seiten des Dienstleisters.

Der nächste Weg führt über das Baummenü in den Bereich "Status". Dort steht ein Klick auf "Stop" und einer auf "Start" an, damit die Änderung in hmailserver.ini wirkt. Die eben definierte Domain erscheint auch im Menübaum. Dort legen Sie die beim Dienstleister definierte E-Mail-Adresse als neuen Account an. Das dabei vergebene Passwort dient später zum Login mit dem Mail-Client; es kann dasselbe sein wie beim Dienstleister, muss es aber nicht.

Damit die beim Provider liegenden Nachrichten per POP3 in der Mailbox dieses Users landen, richten Sie unter "External Accounts" einen neuen ein. Welche Server-Adressen und Ports richtig sind, findet sich in der Hilfe des Providers bei der Client-Konfiguration, denn der hMailServer verhält sich an dieser Stelle wie ein POP3-Client. Weil dabei das Passwort übertragen wird, sollten Sie unbedingt die per SSL verschlüsselte Variante benutzen.

Das Intervall kann man von den voreingestellten 30 Minuten etwas heruntersetzen, doch manche Dienste haben dafür eine Untergrenze. Zum Test lassen Sie die Nachrichten auf dem Server liegen (Do not delete messages); wenn alles läuft, ändern Sie das auf "Delete … immediately". Kopien beim Provider liegen zu lassen verschwendet nur Platz. Die Mail-User sollten ausschließlich den heimischen Server benutzen, statt IMAP oder Web-Mail beim Dienstleister, weil die lokal abgehandelten Mails zwischen den Usern ja nie beim Provider ankommen, sodass die Mailboxen je nach Zugang unterschiedliches enthalten würden. Abschließend setzen Sie das Häkchen bei "enabled" und probieren die Einstellungen mit "Download Now" aus. Das schließt den Dialog zum Account. Wenn beim Wieder-Öffnen auf dem Tab "General" bei Size nicht mehr 0 steht, hat der Download der Testmail geklappt. Auch beim Status das Servers sollte auf dem Reiter "Status" die Zahl der bearbeiteten Nachrichten entsprechend höher ausfallen.

Andernfalls hilft die Protokollfunktion unter Settings/Logging. Die schalten Sie zunächst generell ein (enabled) und wählen dann die relevanten Protokolle (POP3 TCP/IP in schweren Fällen zusätzlich Debugging). Die so erzeugten Log-Dateien finden sich über den Knopf unten auf der Seite. Einen schnellen Blick gewährt das Admin-Tool unter Status/Logging nach einem Klick auf "Start". Allerdings läuft das nur solange diese Dialogseite offen bleibt und wenn das Logging überhaupt aktiviert wurde.

In der Voreinstellung nimmt hMailServer E-Mails mit dem Protokoll SMTP auf Port 25 ohne Login an. Damit eventuelle Einbrecher ins Netz oder Trojaner den Server nicht zum Spam-Versand missbrauchen können, ist inzwischen aber ein anderes Verfahren üblich: Submission. Im Kern ist das auch SMTP, jedoch mit Login und (möglichst verschlüsselt) über TCP-Port 587. Es gilt also, den Port zu ändern und das Login zu erzwingen. Klicken Sie unter Settings/Advanced/TCP/IP Ports auf den Eintrag für SMTP und ändern Sie einfach den Port auf 587. Das Konfigurations-Tool startet beim Sichern dann den Server automatisch neu. Nicht wundern: Dabei endet das Tool nicht, nur der Service muss neu gestartet werden.

Das Login wird dann unter Settings/Advanced/IP Ranges eingeschaltet. Nach einem Klick auch den Eintrag für "Internet" gilt es, die Häkchen im unteren Dialog-Bereich korrekt zu setzen: Bei "Allow Delivery" müssen die unteren beiden Häkchen weg, die mit "External to…" beginnen. Denn über SMTP soll der Server keine Mails annehmen, die mit fremden Absendern ankommt. Im Bereich "Require SMTP authentication" sollten alle dann noch aktiven Häkchen gesetzt sein, damit der Server ohne Login keine E-Mails mehr entgegen nimmt.

Nun können Clients ihre E-Mails beim eigenen Server abliefern. Aber der schickt sie noch nicht korrekt weiter, sondern versucht sie direkt dem Empfänger zuzustellen. Dafür soll er jedoch den Server des Dienstleisters nutzen. Auf der Seite Settings/SMTP/Delivery of email ist dafür einiges zu ändern: Der "Local Host Name" ist im Prinzip beliebig. Doch wer im Router oder über den "Remotewebzugriff" des WHS einen DynDNS-Namen setzt, sollte diesen als Local Host Name benutzen. Denn wenn der Name sich per DNS zur externen Adresse auflösen lässt, gibt es Pluspunkte beim Spam-Filter.

Als SMTP Relayer tragen Sie den SMTP-Server des Dienstleisters ein, wie es dessen Client-Konfigurationsanleitung beschreibt. Wie beim POP3-Abruf agiert hMailServer auch beim Versand gegenüber dem Dienstleister wie ein Client. Die Logindaten nehmen Sie von einem beliebigen Mail-Account, den Sie beim Provider eingerichtet haben.

Nun können Sie testweise den ersten Mail- Client einrichten. Tragen Sie als Server die interne IP-Adresse Ihres Servers ein und wählen Sie als Protokoll IMAP. Der User-Name zum Login ist die komplette E-Mail-Adresse inklusive Domain. Den SMTP-Port für den Versand muss man meist manuell auf 587 ändern. Beim ersten Abruf sollte die ganz am Anfang geschickte Testmail ankommen. Auf die antwortet man nun, um den Versand zu testen. Wenn auch mit Geduld kein Nachrichteneingang festzustellen ist, hilft wieder das Logging im hMailServer, den Fehler einzukreisen. Umgekehrt holt der eigene Server Mails ja nur alle 30 Minuten ab. Daher dauert es schon mal so lange, bis eine Mail ankommt.

Ausgehende E-Mail lädt der eigene Server beim Dienstleister ab und benutzt dafür die Login-Daten eines einzigen Accounts.

Manche Clients haben Probleme mit der Verwaltung von IMAP-Zugriffsrechten. Man merkt das daran, dass sie in den IMAP-Postfächern keine Nachrichten löschen können. Falls Sie auf eines dieser Programme angewiesen sind, schalten Sie auf dem Server die IMAP-ACLs unter Settings/Protocols/IMAP ab. Durch die eingangs beschriebene Verschiebung des Daten-Verzeichnisses landen alle Mails automatisch im Server-Backup des WHS.

Per SSL verschlüsseltes IMAP sollte auf Port 993 statt 143 laufen.

Doch um im Katastrophenfall möglichst wenig Handarbeit bei der Rettung zu haben, sollten auch die Datenbank mit Meta-Informationen und die Einstellungen in diesen Ordner gesichert werden. Tragen Sie dazu unter Utilities/Backup denselben Ordner als Backup-Ziel ein und wählen "Settings" und "Domains" aus. Die "Messages" hier anzuklicken hat keinen Sinn, weil sie ohnehin in dem Ordner liegen. Zum Automatisieren des Backups liegt im hMailServer-Verzeichnis unter Addons/Utilities das Skript "ServerBackup.vbs". In dieses tragen Sie zunächst mit einem Texteditor das Konfigurations-Passwort ein. Dann richten Sie in der Windows-Aufgabenplanung einen Task ein, der das Skript zweimal täglich jeweils fünf Minuten vor dem automatischen Server- Backup startet.

Wer sicher ist, dass er seinen Mailserver nur mit Clients aus einem sicheren lokalen Netzwerk benutzt, ist jetzt mit der Einrichtung fertig. Doch wenn ein User auch mal unterwegs an seine Mail muss, braucht er einen per SSL verschlüsselten Zugang. Auch den kann hMailServer anbieten. Er braucht dazu nur ein Zertifikat, das auf den DNS- Namen lautet, unter dem der Server im Client eingetragen ist. So ein Zertifikat kann man bei Sicherheits-Dienstleistern kaufen oder sich selbst machen. Selbst gemachte Zertifikate muss man dann allerdings auf allen Clients manuell eintragen.

Beim WHS 011 muss man sich kein zusätz - liches Zertifikat besorgen, denn zum "Re - mote webzugriff" gehört ein dynamischer Host name in der Domain homeserver.com, zu dem Microsoft automatisch ein Zertifikat liefert. Wenn man dies aus dem WHS in hMailServer überträgt, akzeptieren es viele E-Mail-Clients ohne Weiteres, sobald der "Remotewebzugriff" einmal im Interne Explorer aufgerufen wurde. Andere (wie Thunderbird) arbeiten an der Zertifikat-Verwaltung von Windows vorbei und bemängeln das Zertifikat genauso wie ein selbstsigniertes, sodass man es einmal als Ausnahme einbauen muss. Version 5.4 von hMailServer wird auch diese Clients zufriedenstellen, befindet sich jedoch noch im Beta-Stadium.

Das Übertragen des Zertifikates besteht aus drei Schritten: aus dem Web-Server des WHS exportieren, in ein passendes Dateiformat umwandeln, in hMalServer importieren. Zum Umwandeln brauchen Sie kurz OpenSSL Light für Windows. Bei der Installation wird zwar bemängelt, dass die "Microsoft Visual C++ 008 Redistributables" fehlen, doch das können Sie ignorieren.

Zum Export rufen Sie auf dem Server aus dem Startmenü unter Menü "Verwaltung" den "Internetinformationsdienste (IIS)-Manager" auf. Dort klicken Sie auf den einen eingerichteten Server. Auf der Übersichtsseite gibt es nun im Bereich "IIS" ein Icon "Serverzertifikate", normalerweise in der letzten Zeile. Ein Doppelklick führt auf die Liste der Zertifikate. Rechtsklicken Sie dort auf die Zeile, in der der homeserver.com- Name steht. Fehlt der, ist der Remotewebzugriff im WHS-Dashboard noch nicht korrekt eingerichtet. Aus dem Kontextmenü wählen Sie "Exportieren" und setzen ein beliebiges Passwort. Die Datei speichern Sie am besten im Unterverzeichnis "Bin" der OpenSSL-Installation. Die folgenden Befehle gehen davon aus, dass Sie die Datei server.pfx nennen.

Öffnen Sie eine Kommandozeile im Bin- Verzeichnis von OpenSSL. Nun extrahieren Sie das Zertifikat sowie den zugehörigen Schlüssel aus der PFX-Datei und löschen aus dem Schlüssel das Passwort, da hMailServer ihn sonst nicht einlesen kann:

openssl pkcs12 -in server.pfx -nokeys -out zertifikat.pem
openssl pkcs12 -in server.pfx -nocerts -out key.pem
openssl rsa -in key.pem -out privat.pem

Jedes Mal wenn OpenSSL nach einem Passwort fragt tippen Sie das beim Export vergebene ein.

Egal, ob Sie die Dateien so aus den IIS her - ausoperiert haben oder aus einer anderen Quelle nehmen: Kopieren Sie nun das Zertifikat (zertifikat.pem) und den privaten Schlüssel (privat.pem) an einen sicheren Ort, zum Beispiel den Ordner "Externals" im hMailServer-Verzeichnis. Im Konfigurationstool klicken Sie bei Settings/Advanced/SSL-Certificates auf "Add" und wählen die beiden Dateien aus; den Namen der Konfiguration wählen Sie nach Gusto.

Dann ist ein letzter Besuch im Bereich Settings/Advanced/TCP/IP Ports fällig: Setzen Sie bei allen Ports das Häkchen für "User SSL" und stellen Sie gegebenenfalls den Port um: IMAP per SSL sollte auf Port 993 laufen, POP3 per SSL auf Port 995. SMTP mit Login bleibt auch mit SSL auf Port 587.

Abschließend tragen Sie in Ihrem Router Port-Weiterleitungen für die Dienste ein, die unterwegs nutzbar sein sollen und ändern im E-Mail-Client den Servernamen auf den dynamischen des WHS in der homeserver. com-Domain. Wenn der Router nicht ganz dumm ist, funktioniert diese Konfiguration auch im lokalen Netzwerk.

Mit diesen Einstellungen ist der Mail-Empfang und -Versand fertig eingerichtet. Es bleiben natürlich genug Möglichkeiten zu Detailverbesserungen. ClamWin als Virenscanner ist leicht einzurichten; ein zusätzlicher Spam- Filter jedoch nicht: Die eingebauten Methoden haben nur einen Sinn, wenn hMailServer die Nachrichten direkt entgegennimmt, denn sie reagieren nicht auf den Inhalt der Mails. Die Installation des Inhaltsfilters SpamAssassin unter Windows könnte leicht einen eigenen Artikel füllen. (rek)