hMailServer - Eine Exchange-Alternative?

Zuletzt aktualisiert am 27. September 2020 von Lars

Die freie Software hMailServer ist eine Mailserver-Lösung, die sich durchaus auch für kleinere Unternehmen einsetzen lässt.

Es ist sicherlich kein vollwertiger Ersatz für Microsoft Exchange, aber für Unternehmen mit wenigen Mitarbeitern eine gute Wahl.

Hier das wichtigste für den Einstieg.

hMailServer holt Mails via POP3 oder SMTP, hat also einen POP-3 Connector gleich eingebaut.

Installation

Die aktuelle Version lädt man unter der Projekt-Homepage hMailServer - Free email server for Microsoft Windows herunter.

Bei der Installation vergeben Sie ein Administrator-Passwort. Dieses ist unabhängig von irgendwelchen Active-Directory-Konten. Also nicht vergessen!

Datenbank

hMailServer lägt die Mail-Informationen in einer Datenbank ab. Für kleinere Installationen reicht hier die Option

Use built-in database engine (Microsoft SQL Compact)

Die andere Option

Use external database engine (MSSQL, MySQL or PostgeSQL)

ist eigentlich nur bei grösseren Installationen nötig.

Konkretes Beispiel

  • Meine Mailbox ist laut Outlook 16'398 KB gross.
  • Die hMail-Server Datenbank ist 916 KB gross (Programmverzeichnis - Unterverzeichnis Database)
  • Die Mails selber sind im Ordner Data im Programmverzeichnis enthalten. Dies ist 15'848 KB gross

Konfiguration

So sieht die Konfigurationsoberfläche aus:

Konfigurationsoberfläche des hMailServer

Welcome

Hier können Sie die Domänen, die der hMailServer bedienen soll,
eingeben.

Status

Hier können Sie den Status des Servers überwachen

Server

In diesem Reiter sehen sie gg. Statusmeldungen und können den Dienst pausieren

Status

Hier sehen Sie eine Zusammenfassung über verarbeitete Mails...

Logging

Hiermit können Sie das Live Logging aktivieren und direkt überprüfen. Für die Fehlersuche können hierzu aber auch manuell die Log-Datei öffnen.

Delivery Queue

Hier überprüfen Sie die ausgehende Warteschlange. Wenn Mails noch nicht versendet worden, sehen sie das hier.

Domains

Hier sehen Sie in der übergeordneten Ebene alle Domains, auf die der hMailServer lauscht. Klicken Sie die einzelnen Domänen an, um weitere Einstellungen zu konfigurieren.

hMailServer Screenshot

General

Hier sehen Sie den Namen und können die Domain aktivieren oder deaktivieren.

Names

Hier können Sie verschiedene Aliase definieren. Beispiel: Hätte ich auch noch schlageter.de und schlageter.com als entsprechenden Namen, könnte ich diese hier einmalig definieren und muss dann nur einmal für alle drei Domänen die Adressen einrichten.

Signature

Hier können Sie für ausgehende Mails eine Signatur definieren. Sie gilt jedoch nur für die Domäne, unter dieser sie definiert ist.

Limits

Hier können Sie Grenzwerte, wie z.B. die Mailboxgrösse definieren. Lassen Sie dies auf Null, ist der Grenzwerte nicht aktiv.

Maximum size (MB)

Dies ist die maximale Grösse, die alle Mails in der Domäne haben dürfen.

Maximum message size

Die ist die maximale Grösse, die eine Nachricht haben darf. Ist eine grösser, wird sie vom hMailServer abgewiesen.

Maximum size of accounts (MB)

Dieser Wert definiert die maximale Grösse jeder Mailbox in dieser Domäne.

Number of accounts, aliases and distribution lists

Diese Werte definieren das Maximum an Accounts, Aliases und Distribution Lists für diese Domäne

DKIM Signing

Aktiviert DKIM Signing. DomainKeys Identified Mail ist ein Identifikationsprotokoll zur Sicherstellung der Authentizität von E-Mail-Absendern

Advanced

Catch-all adress

Catch-all adress ist eine Adresse, die alle Mails an diese Domäne bekommt. Gebraucht wird das z. B. wenn man typische Tipp-Fehler-Mails auch abfangen will. Ich bin kein Freund davon, da Spamer häufig Kombinationen auf bestimmten Domänen durchprobieren und eine solche Catch-all Adresse daher jede Menge Spam erhält.

Plus adressing

Hier kann man definieren, dass auch zusätzliche Zeichnen in Adressen erlaubt sind.

Greylisting

Hier kann man Greylisting für die Domäne aktivieren. Beim Greylisting wird eine Mail generell erst einmal abgewiesen. Ein Mailserver macht einen erneuten Zustellversuch, i. d. R. nach 10 Minuten. Spamer machen sich häufig die Mühe nicht. Greylisting dient also dem Spam-Schutz.

hMailServer Screenshot

Accounts

Die E-Mail-Adressen der Domäne. Für diese haben Sie diverse Einstellmöglichkeiten in verschiedenen Reitern.

hMailServer Screenshot

General

Adress

Die E-Mail-Adresse des Kontos. hMailServer unterstützt die folgenden Zeichen in Konten nicht: •? * | / <>

Password

Das Kennwort des Kontos. Passwörter werden verschlüsselt und in der Datenbank des abgelegt.

Size (MB)

Aktuelle Grösse der Mailbox.

Maximum Size (MB)

Der maximale Speicherplatz, den das Konto verwenden kann. Wenn das Limit erreicht ist, kann das Konto keine Mails mehr erhalten. Der Absender erhält eine entsprechende Nachricht.

Administration level

Hier können Sie festlegen, auf welche Teile des Servers ein Benutzer Zugriff hat. Diese Einstellung wird vor allem durch PHPWebAdmin verwendet.

  • Benutzer - Der Benutzer kann Einstellungen, die für ihn selber gelten, ändern
  • Domain - Der Benutzer kann Einstellungen, die für seine Domäne und deren Benutzern gilt, ändern
  • Server - Der Benutzer kann Einstellungen auf dem Server ändern

Last logon time

Letzte Anmeldezeit

Enabled

Der Haken muss gesetzt sein, damit diese Mailbox aktiviert ist.

Auto-Replay

Hier kann eine automatische Antwort definiert werden.

Forward

Hier kann eine Mai-Weiterleitung definiert werden.

Signature

Hier kann eine Signatur definiert werden.

Externals Accouts

Hier könne zugeordnete externe Accounts definiert werden. Zum Beispiel definiere ich hier diverse alte E-Mail-Adressen, die ich per POP3 abhole.

hMailServer Screenshot

Der obere Teil sind die Daten, die Sie (hoffentlich) von ihrem Provider haben.

Minutes between download

Gibt die Zeitspanne an, wie oft nach neuen Mails gesucht wird.

Deliver to recipients in MIME headers

Diese Option ist mit Vorsicht zu geniessen. Ist im Mail-Header ein anderer Empfänger angegeben, dann versucht hMailServer diesem das Mail zuzustellen.

Retrieve date from Received Header

Ist diese Option aktiviert, dann nimmt hMailServer Datum und Zeit aus dem Mailheader als Zustelldatum. Bei deaktivierter Option wird Datum und Zeit genommen, an der hMail die Mail heruntergeladen hat. Aktivierung erscheint mir sinnvoll. Beim Herunterladen mehrer Mails bei der Erstinstallation hatten alle Mails falsches Datum und Zeit erhalten, weil ich die Option übersehen hatte.

Anti-spam & Anti-virus

Aktivieren Sie diese Optionen, wenn die Nachricht auf Anti-Spam und / oder Anti-Virus untersucht werden soll.

Delete message immediately

Wird diese Option aktiviert, wird die Originalnachricht beim Provider, von dem sie gerade abgeholt wird, sofort gelöscht.

Delete message after nn days

Wird diese Option aktiviert, wird die Originalnachricht beim Provider, von dem sie gerade abgeholt wird, nach nn Tagen gelöscht.

Do not delete message

Wird diese Option aktiviert, so wird die Originalnachricht beim Provider, von dem sie gerade abgeholt wird, nicht gelöscht. Dies ist nicht unproblematisch. Läuft die Mailbox beim Provider voll, erhält der Absender eine Unzustellbarkeitsnachricht, obwohl der hMailServer eigentlich für den Empfang bereit wäre.

Rules

Hier können Regeln für die Mailverarbeitung definiert werden. Diese gelten dann nur für den entsprechenden User. Regeln können aber auch hMailServer-weit definiert werden. Beachten Sie hier den AND oder OR Haken!

Active Directory

Hier kann die User-Authentifizierung am Active Directory definiert werden.

Advanced

First name, last name

Vorname, Nachname kann hier definiert werden. hMailServer verwendet diese Funktionen jedoch nicht.

Edit Folders

Dieser Dialog dient zur Manipulation der IMAP-Ordner bzw. deren Struktur

Empty Account

Hiermit werden alle IMAP-Ordner und deren Inhalt gelöscht

Unlock

In bestimmten Situation kann der POP3-Connector die Mailbox locken. Mit dieser Funktion lässt sich der Lock aufheben.

Aliases

Sie wollen zum Beispiel E-Mails empfangen für webmaster@domain.com, feedback@domain.com und yourname@domain.com. Wenn sie aber nur webmaster@domain.com anstelle von 3 verschiedenen Konten anlegen wollen, können Sie die übrigen Adressen als Aliase anlegen.

Distribution Lists

Nachrichten die an die Adresse einer Distribution-List gesandt werden, werden an alle Mitglieder von ihr weitergeleitet.

Rules

Hier können serverseitige Mailverarbeitungsregeln gesetzt werden. Sie gelten für alle Accounts und Domänen! Achtung Falle: Beachten Sie hier den AND oder OR Haken!

Settings

Protocols

Hier aktiviert und definiert die Protokolle SMTP, POP3, IMAP.

SMTP

hMailServer Screenshot

Für SMTP gibt es am meisten zu konfigurieren.

General

Hier definieren Sie die maximale Anzahl an gleichzeitigen Verbindungen, die "Welcome message" und die hMailServer weite maximale Mailgrösse.

Die "Welcome message" ist Teil vom Sende-Prozess und wird normalerweise nicht wahrgenommen. Es kann Sinn machen sie zu ändern, um es schwieriger zu machen, den Typ des Mailservers zu erkennen.

Delivery of e-mail

In diesem Dialog definiert man die Anzahl der Wiederholungsversuche sowie die Zeit dazwischen.

Außerdem kann ein Smarthost festgelegt werden. Dies ist besonders dann interessant, wenn man eine Infrastruktur mit nur einer festen IP im Internet hat bzw. sogar eine dynamische. In diesem Fall wird man es schwer haben, Mails über die Antispam-Struktur von Empfängern zu bekommen.

Statistics

Hier können Sie festlegen, ob Sie statistische Werte an die Entwickler senden wollen (will ich nicht).

RFC compliance

  • Allow plain text authentication - Mit dieser Option definieren sie, ob einfache Authentifizierung zugelassen ist oder nicht
  • Allow empty sender address - Einige Spammer senden E-Mail mit leerer Absenderadresse. Wenn Sie diese Option deaktivieren, wird hMailServer diese Nachrichten als Spam zu behandeln. Es kann aber auch legitime E-Mail mit leeren Absender-Adressen geben. Die Online-Hilfe empfiehlt daher, diese Option zu deaktivieren.
  • Allow incorrectly formatted line endings - Nach der SMTP-Spezifikation sollte jede Zeile durch die ASCII-Codes 13 und 10 getrennt werden. Einige Spammer senden Nachrichten, die nicht korrekt formatiert sind. Verwenden Sie diese Einstellung, um derartige Mails abzulehnen. Auch hier können in einigen Fällen wieder legitime E-Mail falsch formatiert Zeilenenden haben.
  • Disconnect client after too many invalid commands - Einige Spammer versuchen eMail an viele verschiedene Adressen auf Ihrem Server zu senden. Mit dieser Option können Sie derartige Versuche unterbinden.

Advanced

  • Bind to local IP address  - Feste IP-Adresse vorgeben, über die der hMailServer raus geht. In der Regel funktioniert es auch ohne Angabe. hMailServer nimmt dann die von Windows vorgegebene.
  • Maximum number of recipients in batch - Maximale Anzahl an gleichzeitigen Empfängern. Sollte gesetzt werden, da ein Mail möglicherweise als SPAM-Mail identifiziert wird, wenn zu viele Empfänger darin aufgeführt sind.
  • Add Delivered-To header - Ist diese Option gesetzt, erweitert der hMailServer den Mailheader mit einem Delivered-To-Header.
  • Rule loop count - Eine Mailschleife kann entstehen, wenn Empfänger A an B weiterleitet und B wieder an A (z.B. bei Ferien-Abwesenheit). Sie wird nach der hier definierten Anzahl Durchgänge abgebrochen.
  • Maximum number of recipient host - Dies Option ist in der Online-Hilfe bisher nicht erklärt. Wahrscheinlich ist es die maximale Anzahl an Mailserver, die in einem Mail erreicht werden können.

POP3

Hier kann man nur die maximale Anzahl an gleichzeitigen Verbindungen sowie die Willkommensnachricht definieren (normalerweise nicht sichtbar).

IMAP

General

Hier definiert man die maximale Anzahl an gleichzeitigen Verbindungen sowie die Willkommensnachricht (normalerweise nicht sichtbar).

Public Folders

Public Folders sind für alle hMailServer Benutzer sichtbar. Mir hat sich zunächst die Bedienung nicht erschlossen. Rüdiger mailte mir aber hierzu den entscheidenden Hinweis: "Hi Lars, hMailServer - Settings - IMAP - Tab (Public Folders) - Button (Edit folders) - Rechtsklick mit Maus auf linken, leeren Bereich - Kontextmenü (Create folder). Ist doch intuitiv, oder ? ;)) Viele Grüße Rüdiger"

OK, vielen Dank Rüdiger.

Advanced

Extensions

  • IMAP SORT erlaubt die Sortierung von Mails auf dem Server - Beschleunigt die Geschwindigkeit von Mail-Clients
  • IMAP Quota erlaubt IMAP-Clients die Quota des Accounts zu prüfen
  • IMAP Idle - Mit dieser Extensions erfährt der IMAP-Client vom Server, wenn ein neues Mail angekommen ist.
  • IMAP ACL - erlaubt das Setup von Public Folders und Setzen von Berechtigungen

Hierarchy delimiter

Trennzeichen zwischen Ordneren. Wichtig beim Setzen von Rules. Ist ein Punkt als Trennzeichen gesetzt (Standard) und man will eine Rule definieren, die eine Mail in den Unterordner Ziel im Posteingang verschieben soll, so lautet der Zielname "Posteingang.Ziel".

Groups

Erstellen von Gruppen - Derzeit ist mir ein möglicher Einsatzzweck nicht klar - sinnvoller dürften Distribution Lists sein.

Anti-Spam

Spam-Erkennung funktioniert i. d. R. mehrstufig. Jeder Test generiert einen gewissen Score. Hat das Mail einen gewissen Score überschritten, ist es ziemlich sicher SPAM

hMailServer Screenshot

General

  • Spam mark treshhold - Erreicht ein Mail diesen Spam-Wert, ist es für den hMailServer ein Spam-Mail
  • Add X-hMailServer-Spam - Hier wird eine Spam-Markierug zum Mail-Header hinzugefügt
  • Add X-hMailServer-Reason - Hier wird auch noch der Grund für die Markierung als Spam mit in den Header hinzugefügt
  • Add to message subject - Hier wird eine definierbare Spam-Markung zum Mail-Betreff hinzugefügt. Die Mail kann somit mittels Rules aussortiert werden.
  • Spam delete treshhold - Überschreitet eine Mail diesen Spam-Wert, wird sie gelöscht und nicht zugestellt.
  • Maximum message size to scan (KB) - Mails, die grösser als der angegebene Wert sind, werden nicht gescannt auf Spam. In der Regel versenden Spammer
    kleine Mails.

Spam tests

hMailServer Screenshot

 

  • Use SPF - SPF ist ein Verfahren, bei dem das Fälschen von Absenderadressen verhindert werden soll. Der Absender trägt im DNS SPF-Record ein, welche Server Mail versenden dürfen.
  • Check host in the HELO command - Im STMP-Protokoll sollte der Host im HELO-Kommando seinen Hostnamen angeben. Mit dieser Option kann überprüft werden, ob dieser korrekt ist.
  • Check that sender has DNS-MX records - Mit dieser Option wird überprüft, ob die Senderdomäne MX-Records für das Versenden von Mails hat. Dies kann zu False Positive führen, da das Vorhandensein von MX-Records für den Mailversand nicht zwingend ist.
  • Verify DKIM-Signature header - Ist diese Option markiert, prüft hMailServer eine vorhanden DKIM-Signature auf Korrektheit.

SpamAssasin

In diesem Dialog kann eine separat zu installierende SpamAssasin Software mit eingebunden werden.

DNS Blacklist

DNS Blacklists sind Listen, die die IPs von bekannten Spammern bereitstellen. Diese werden vom hMailServer abgefragt.

Nach
http://www.hmailserver.com/forum/viewtopic.php?f=12&t=15442
habe ich bei mir folgende Einstellung gewählt:

zen.spamhaus.org       | 127.0.0.* | Rejected by http://www.spamhaus.org/zen/ | Score = 5
dnsbl.njabl.org        | 127.0.0.* | Rejected by njabl.org                    | Score = 1
psbl.surriel.com       | 127.0.0.* | Rejected by surriel.com                  | Score = 1
virbl.dnsbl.bit.nl     | 127.0.0.* | Rejected by virbl.bit.nl                 | Score = 1
b.barracudacentral.org | 127.0.0.* | Rejected by barracuda                    | Score = 2

SURBL Servers

Hier definiert man die SURBL Lookups, die hMailServer bei der Prüfung eines E-Mail machen soll. SURBL ist eine Liste, die Hostnamen, die im Zusammenhang mit SPAM auftreten, enthalten.

Greylisting

Beim Greylisting wird eine Mail generell erst einmal abgewiesen. Ein Mailserver macht einen erneuten Zustellversuch, in der Regel nach 10 Minuten. Spamer machen sich häufig die Mühe nicht.

In diesem Dialog kann Greylisting definiert werden.

hMailServer Screenshot

  • Minutes to defer delivery attempts: So lange wartet hMailServer, bevor eine Nachricht akzeptiert wird
  • Day before removing unused records: So lange wartet hMailServer auf das weitere Zusenden einer Mail
  • Days before removing used records: So lange behält hMailServer die Info, dass eine Mail das Greylisting passiert hat.
  • Bypass Greylisting on SPF Pass. Hat der Absender einen SPF-Record im DNS und ist dieser korrekt, muss er das Greylisting nicht passieren.
  • Kommt eine Mai von einem gültigen MX oder A-Record, muss er das
    Greylisting bei aktivierter Option nicht passieren.

White listing

Hier können Server-Adressen hinterlegt werden, die nicht durch das Greylisting müssen. Dies ist praktisch, weil manche Absender mit dem Greylisting nicht klar kommen.

Anti-virus

hMailServer Screenshot

Hier können Sie Virenscanner für den hMailServer konfigurieren.

General

In diesem Reiter definieren sie das generelle Verhalten der Virus-Prüfung.

ClamAV

Hier kann ein vorhandener (auf einem externen Host) laufender ClamAV-Scanner eingebunden werden.

ClamWin

Hiermit kann ein lokaler ClamWin-Scenner eingebunden werden.

External virus scanner

Hiermit kann ein anderer externer Antivirus-Scanner eingebunden werden. In der Online-Hilfe ist beschrieben, wie Sie z.B. den Free AVG einbinden
können.

Block attachements

Hier definieren Sie, welchen Typ von Attachment hMailServer von Haus aus blockiert.

Logging

Stellen Sie hier ein, was genau geloggt werden soll und wo hin.

Advanced

Hier geht es an das "Eingemachte".

Autoban

Wenn sich jemand die festgelegte Anzahl falsch einloggt, dann kommt er keinen Zugriff mehr auf den hMailServer. Zum vorzeitigen Entsperren muss unter Advanced -> IP-Ranges der rote Bereich gelöscht werden.

SSL Certificates

Hier können SSL Zertifikate für die verschlüsselte Kommunikation installiert und verwaltet werden.

IP-Ranges

Per Standard sind hier zwei Ranges definiert. Weder das Online-Handbuch noch Quellen im Internet bringen hier eine wirklich gute Erklärung. Wichtig ist, dass nicht zu leichtfertig mit der SMTP authentificaiton umgegangen wird, damit man kein Open Relay aufgebaut hat, über das Spamer ihre
Mails absenden können.

Ein Test auf Open Relay kann man zum Beispiel hier durchführen:

My Computer

hMailServer Screenshot

Internet

hMailServer Screenshot

Incoming Relay

Wird die Mail von einem SMTP-Backup-Server empfangen, kann dieser hier definiert werden. Dies ist wichtig, da sonst die Antispam-Proben ins Leere laufen, da die Mail ja immer von einem sicheren Absender kommt.

Mirror

Alle eingehenden Mails werden an die hier definierte Mirror-Adresse weitergeleitet.

Performance

hMailServer Screenshot

Cache

Der Cache beschleunigt den hMailServer. Die Standardwerte können in der Regel so übernommen werden.

Threading

Hier können Sie das Threading beeinflussen. Es bestimmt, wie viel Aktionen gleichzeitig ausgeführt werden können. Je mehr man einstellt, umso stärker wird das System allerdings auch belastet und alles wird langsamer.

Message indexing

Diese Option beschleunigt den Zugriff von Webmail-Clients aus. Wird dieser nicht genutzt, kann sie deaktiviert bleiben.

Server messages

Hier können Sie die Fehlermeldungen ändern, die hMailServer im Fehlerfall zurück gibt.

Scripts

Mit Scripts kann die Funktionalität des hMailServers erweitert werden. Im Bedarfsfall bitte die Online-Hilfe besuchen.

TCP-Ports

Hier können Sie die TCP-Ports der einzelnen Protokolle festlegen.

Utilities

Backup

Hier können Sie ein Backup des hMailServers durchführen. Für ein unattended Backup steht ein vbs-Script im Unterverzeichnis AddonsUtilities zur Verfügung. Hierin müssen Sie noch das hMailServer-Passwort editieren.

Beachten Sie zu Thema Backup unbedingt noch die Online-Hilfe.

MX-Query

Hier können Sie nach denen zu einer E-Mail-Adresse zugehörigen Mailserver suchen.

nslookup -querytype=mx domain

Tut das eigentlich eleganter.

Server-Sendout

Hiermit können Sie einzelnen oder allen hMailServer Usern ein Mail senden. Nützlich zum Beispiel um Wartungsarbeiten anzukündigen.

Diagnostics

Hier können Sie diverse Tests auf die einzelnen Domänen fahren. Leider schweigt sich die Online-Hilfe hier über den realen Einsatzzweck aus.

 

Links / Quellen

Du willst meine Arbeit unterstützen? Dann freue ich mich über eine kleine Spende!

Schreibe einen Kommentar