Mit unserem Plugin ISPConfig Automail kannst Du Email-Clients wie Thunderbird oder Outlook automatisch konfigurieren.
Ob Du einen oder mehrere Mailserver für die Domains verwendest, macht keinen Unterschied. Du definierst nur für jeden Mailserver die passenden Daten wie Hostname und Port; alles andere erfolgt durch eine kleine Webseite, die einen Autoconfig-Dienst (Thunderbird) oder Autodiscover-Dienst (Outlook) zur Verfügung stellt.
Autoconfig und Autodiscover fordern über unterschiedliche Adressen XML-Files an, mit denen dann der Email-Client nach Deinen Vorgaben konfiguriert wird.
Um den ISPConfig Automail nutzen zu können, brauchst Du nur eine aktuelle Version von ISPConfig und eine Webseite (Apache oder nginx).
Das Plugin besteht aus zwei Teilen
- die Erweiterung für ISPConfig zum Verwalten der Einstellungen
- ein Script, um die entsprechenden XML-Dokumente unter der jeweiligen Domain zu generieren.
In diesem Beispiel ist example.de Deine Domain, über die das automatische Einrichten der Mail-Clients laufen soll. Diese Domain kannst Du frei wählen. Die Domain kunde.de ist die Domain, die für die Einrichtung example.de abfragt.
Installation ISPConfig Automail
cd /tmp
wget https://download.schaal-it.net/ispconfig-automail.tgz
tar xfz ispconfig-automail.tgz
cd automail
php install.php
Aktivieren des Plugins
Melde Dich in ISPConfig als Admin an, gehe zu System / ISPConfig Benutzer und aktiviere für den User Admin das Modul automail. Nach dem Du Dich einmal ab- und wieder angemeldet hast, steht Dir das Modul zur Verfügung.
Remote-User
Erstelle einen entfernten Benutzer an, der die „Automail functions“ nutzen kann. Wenn Du ein Multiserver-Setup hast, musst Du evtl. noch den entfernten Zugriff erlauben.
Konfigurieren des Plugins
Unter Provider-ID trägst Du eine eindeutige ID ein, die Dein Setup identifiziert. Du kannst dafür z.B. den Domainnamen Deines Servers nehmen.
Die beiden Hostnamen sind die Namen, über die Mails abgerufen (IMAP/POP3) und versendet werden (SMTP). Wenn Du alles über den gleichen Server laufen lässt, musst Du in beiden Feldern den gleichen Namen eintragen.
Bei Ports trägst Du die Ports ein, die für Deinen Mailserver genutzt werden sollen.
Wenn Du SSL aktivierst, wird das eingerichtete Email-Programm eine verschlüsselte Verbindung aufbauen. Dazu muss das Zertifikat zwingend zum Hostnamen passen.
Erstellen der erforderlichen DNS-Records
Du brauchst einen A-Record für autoconfig.example.de und autodiscover.example.de, die auf Deinen Web-Server zeigen. Wenn Du auch IPv6 nutzt, solltest Du zusätzlich noch AAAA-Records anlegen.
In jeder Kunden-Domain legst Du dann zwei Einträge an. Für autoconfig reicht ein einfacher CNAME:
autoconfig.kunde.de. CNAME autoconfig.example.de.
Bei autodiscover bietet sich ein SRV-Record an. Du bekommst damit zwar eine Zertifikat-Warnung während der Einrichtung, das ist aber der einfachste Weg für die Einrichtung beliebig vieler Kunden-Domains:
_autodiscover._tcp.kunde.de. SRV 0 0 443 autodiscover.example.de.
Einrichten der Website in ISPConfig
Als nächstes legst Du die Webseite autoconfig.example.de mit PHP-Unterstützung und ohne Auto Subdomain in ISPConfig an. Du solltest diese Seite auch über SSL absichern. Das ist zwar für autoconfig nicht erforderlich, wird aber später für autodiscover benötigt. Du kannst dazu ohne weiteres Let’s Encrypt einsetzen.
Bei den Optionen musst Du noch die Direktiven für Apache oder nginx entsprechend setzen:
Apache
ServerAlias autoconfig.*
nginx
location ^~ /config\.php { deny all; }
location / {
rewrite autodiscover\.xml$ /index.php last;
rewrite Autodiscover\.xml$ /index.php last;
rewrite config-v1\.1\.xml$ /index.php last;
}
server_name autoconfig.*;
Durch Alias bzw. server_name kann diese Domain später auch von jeden Kunden bzw. jeder Email-Domain genutzt werden.
Jetzt legst Du die Aliasdomain autodiscover.example.de an und lässt diese auf autoconfig.example.de zeigen. Du brauchst dazu keine Redirects, wichtig ist nur, dass die Domain ein SSL-Zertifikat hat. Dazu reichen A-Records im DNS, die auf Deinen Webserver zeigen, damit Du Let’s Encrypt nutzen kannst.
Script auf der Webseite einrichten
Lade die Dateien aus dem Verzeichnis website aus dem Archiv auf die neu angelegte Webseite hoch und passe die Daten in config.php an. Danach benennst Du die htaccess nach .htaccess um. Wenn Du nginx nutzt, kannst Du die Datei auch direkt löschen.
Testen
Autoconfig kannst Du ganz einfach über wget testen:
wget http://autoconfig.kunde.de/config-v1.1.xml?emailaddress=test@kunde.de -O test
In der Datei test findest Du das Ergebnis. Die Email-Adresse muss natürlich existieren.
Für Autodiscover gibt es den Microsoft Remote Connectivity Analyzer.