Inhaltsverzeichnis
Stalwart Mail Server
Notwendige Einstellungen beim Setup
- Server > Network > Network settings > Hostname (FQDN des Mailservers eintragen)
- Server > TLS > ACME providers
- SMTP > Reporting > Outbound Report Settings > Default Domain (eigene Domain eintragen)
- Telemetry > Tracing History (Enterprise)
- Telemetry > Metrics History (Enterprise)
- Antispam > Trusted domains (eigene Domain hinzufügen)
TLS erforderliche Subdomains
Folgende Subdomains müssen im TLS-Zertifikat enthalten sein um die Funktionalität von Stalwart zu gewährleisten:
- mail.example.com (frei wählbar, Reverse DNS Eintrag erforderlich)
- autodiscover.example.com
- autoconfig.example.com
- mta-sts.example.com
Achtung: Es ist nicht zu empfehlen die TLSA-Einträge im DNS-Server zu hinterlegen. Dies kann zu Zustellproblemen beim Empfangen von Mails führen.
Namen der Standardordner
Standardmäßig sind die Namen einiger Standardordner falsch und nicht Normgerecht. Dies führt dazu, dass Mailprogramme die Ordner nicht erkennen und nicht übersetzen bzw. falsch verwenden. Achtung: Es ist unbedingt erforderlich, dass die Ordnernamen korrigiert werden, bevor Mailboxen angelegt werden!
Ordnerverwendung | korrekter Name |
---|---|
Posteingang | Inbox |
Papierkorb | Trash |
Spam | Junk |
Entwürfe | Drafts |
Gesendete Elemente | Sent |
Archiv | Archive |
Fallback Administrator Passwort ändern
Die Passwortänderung über das Webinterface ist funktionslos!
- Mit dem Linux CLI Befehl
openssl passwd -6
einen neuen Passwort-Hash generieren. - In Stalwart unter Settings > Authentication > Settings > Fallback Administrator > Password diesen neuen Hash hinein kopieren.
- Save & Reload
- Den Stalwart Docker Container neu starten (Wichtig, da ansonsten das alte und neue Passwort gültig sind!)
Update
Wenn Stalwart aktualisiert wurde, muss das Webinterface zusätzlich händisch aktualisiert werden (Maintenance > Update Webadmin), da es ansonsten zu Fehlermeldungen und fehlerhaften Anzeigen kommt.
Command Line Interface
Zur Nutzung des Stalwart CLI muss ein Shell-Script angelegt und mit Ausführungsrechten versehen werden. Dann kann die CLI bequem vom Hostsystem aus aufgerufen werden.
#/bin/bash docker exec -ti stalwartmail stalwart-cli -u http://127.0.0.1:8080 -c admin:"password" "$@"
SMTP Einstellungen
Folgende SMTP Einstellungen sind funktionierende und korrekte Möglichkeiten:
- Port 587 StartTLS (tls://mail.example.com:587) PLAIN
- Port 465 SSL/TLS (ssl://mail.example.com:465) PLAIN
Zum Schutz vor Downgrad-Attacken ist die SSL/TLS Option zu bevorzugen.
Achtung: Nach der Erstellung eines neuen Accounts kann dieser sofort Mails empfangen, jedoch innerhalb der ersten Stunde nach Accounterstellung wird das Versenden von Mails verweigert mit der Meldung 5.5.4 You are not allowed to send from this address.
Active Directory Integration
Um Login mittels Microsoft Active Directory zu ermöglichen sind folgende Einstellungen im Stalwart Directory (Settings > Authentication > Directories) zu treffen:
Directory ID | frei wählbar |
Type | LDAP Directory |
URL | ldap://<DOMAIN-CONTROLLER-IP>:389 |
Base DN | OU in welcher sich der gesamte Baum mit den Benutzern befindet (z.B. OU=Company,DC=example,DC=com ) |
Timeout | 5 seconds |
Bind DN | Benutzer-DN zum Zugriff auf das Active Directory (z.B. CN=LDAP BIND User,OU=Service User,OU=Company,DC=example,DC=com ) |
Bind Secret | Passwort des Bind-Benutzers |
Enable Bind Auth | aktiv |
Bind Auth DN | schematischer, vollständiger AD-Benutzername [email protected] |
Lookup Filters
Name | (&(|(objectClass=user)(objectClass=group))(sAMAccountName=?)) |
(&(|(objectClass=user)(objectClass=group))(|(mail=?)(proxyAddresses=?)(mailList=?))) |
|
Verify | (&(|(objectClass=user)(objectClass=group))(|(mail=*?*)(proxyAddresses=*?*))) |
Expand | (&(|(objectClass=user)(objectClass=group))(mailList=?)) |
Local Domains | (&(|(objectClass=user)(objectClass=group))(|(mail=*@?)(proxyAddresses=*@?))) |
Object Attributes
Name | sAMAccountName |
Type | objectClass |
Description | description |
Secret | userPassword |
Groups | — |
E-mail Aliases | proxyAddresses |
Disk Quota | diskQuota |
Achtung: Das Feld „Group“ hat normalerweise den Wert „memberOf“. Allerdings führt dies dazu, dass massenhaft leere Ordner erscheinen. Da das Feld nicht leer gelassen werden kann, muss hier irgendein Unsinn eingegeben werden, der kein existierendes Attribut darstellt.