strausmann/plesk-email-autoconfiguration

Configure a Auto Configuration for Outlook, Apple Mail and Thunderbird

v1.0.1.2 2019-07-05 15:03 UTC

README

Gitpod ready-to-code

Plesk Mail Autoconfiguration

Deploys Plesk autoconfig functionnality for:

  • Thunderbird
  • Outlook 2013+
  • Windows Mail
  • IOS/MacOS (iPhone / iPad / Mac Mail)
  • Postbox (MacOS)

Requirements

  • SSL Zertifikat für die Domain des Servernamen (LE).
  • SSL Zertifikat für die Signierung der Apple Config Files. Hierfür kann kein LE Zertifikat verwendet werden. Require from Public CA.
  • Eigene Plesk Subscription für den Plesk Mail Autoconfiguration Service.

Usage

DNS Konfiguration

Für die AutoConfig Konfiguration wird ein CNAME Record für den Host "autoconfig" auf den Servernamen benötigt. Damit ist der Server auch über autoconfig.server01.hoster.de zu erreichen.

Plesk Konfiguration

Subscription erstellen

Webspace im Plesk auf den Servernamen anlegen. Beispiel, der Servername lautet server01.hoster.de, dann wird dieser Name auch für die Domain des neuen Webspace verwendet.

Deployment Dateien kopieren

Erstelle im httpdocs Ordner das Verzeichnis pleskautoconfig und kopiere den Inhalt des Ordner "deploy/httpdocs" in den zuvor erstellten Ordner. Kopiere die XML Dateien und die .htaccess Datei aus dem Ordner "deploy/apacheconf" in das Verzeichnis "/var/www/vhosts/default/htdocs/mail". Passe anschließend die URLs, Hostnamen und den Firmennamen sowie die Companydomain in den kopierten Dateien an.

Anwendung aktivieren und Abhängigkeiten installieren

Gehe in der Plesk Subscription in die Anwendungsverwaltung und führe eine Suche durch, es wird die Anwendung "Plesk Mail AutoConfig" gefunden. Gehen Sie in die gefundenen Anwendung und klicke auf "Abhängigkeiten installieren" Damit wird mittels Composer dieses Projekt und deren Abhängigkeiten installiert.

Apache Alias einrichten

In der Plesk Subscription "Einstellungen für Apache & nginx" sind folgende Alias Einträge sowohl für http als auch https zu hinterlegen.

Alias "/autodiscover" "/var/www/vhosts/server01.hoster.de/httpdocs/pleskautoconfig"
Alias "/Autodiscover" "/var/www/vhosts/server01.hoster.de/httpdocs/pleskautoconfig"
Alias "/AutoDiscover" "/var/www/vhosts/server01.hoster.de/httpdocs/pleskautoconfig"
Alias "/ios" "/var/www/vhosts/server01.hoster.de/httpdocs/pleskautoconfig"
Alias "/apple" "/var/www/vhosts/server01.hoster.de/httpdocs/pleskautoconfig"
Alias "/mail" "/var/www/vhosts/server01.hoster.de/httpdocs/pleskautoconfig"

Kopiere die Datei "deploy/apacheconf/autodiscover.conf" in deine Apache Configuration.

SystemZiel
Debian/Ubuntu/etc/apache2/conf.d
CentOS/RedHat/CloudLinux/etc/httpd/conf.d

Passe die Redirect URL in der Datei "autodiscover.conf" entsprechend an und führe anschließend einen Neustart des Apache durch.

Zertifikat installieren

In dem Ordner "certs" muss ein SSL Zertifikat zur Signierung der mobileconfig hinterlegt werden. Hierzu sind die folgenden Dateien notwendig:

DateinameInhalt
certificate.keyPublic Zertifikate
certificate.crtPrivate Key des Zertifikats
certificate.chainChain der Zertifizierungsstelle

Das Zertifikat muss von einer öffentliche Zertifizierungstelle ausgestellt worden und gültig sein, damit es keine Fehler gibt.

Konfiguration anpassen

In dem Ordner "config" ist die Sample Datei "config.inc.php.sample" wie folgt umzubenennen "config.inc.php" und entsprechend der Inhalt auf die eigenen Anforderungen anzupassen.

Sollte die Auto Configuration nur für ein Plesk System sein, kann der Pfad zu der Datei "configjson/emaildeploy.php" zeigen. Sollte es mehrere Plesk Systeme geben, kann die Datei "emaildeploy.php" Zentral gehostet werden.

Outlook Autodiscover

SRV Einträge für die Kunden erstellen, damit autodiscover direkt gefunden wird.

Jede Kundendomain benötigt den folgenden DNS Eintrag:

SRV-DatensatzfeldWert
Name@
Zielserver01.hoster.de
Protokoll_tcp
Service_autodiscover
Priorität10
Gewicht0
Port443
TTL3600

Beispiel für SmartNIC: _autodiscover._tcp 3600 IN SRV 10 0 443 server01.hoster.de

SmartNIC Autodiscover SRV Sample

Autodiscover ohne DNS Records

Wenn die Kundendomain keinen DNS SRV Record hat, wird Outlook als nächstes die Kunden Domain unter der Adresse autodiscover.kundendomain.de mit der URI /autodiscover/autodiscover.xml versuchen zu erreichen. Die XML autodiscover.kundendomain.de/autodiscover/autodiscover.xml muss hierfür nicht per SSL zu erreichen sein, da hier nur eine Weiterleitung an die server01.hoster.de/autodiscover/autodiscover.xml welche wiederum per HTTPS zu erreichen ist.

Thunderbird AutoConfig

DNS TXT für die Kunden anlegen, damit die MailConfig gefunden wird. autoconfig.kundendomain.de muss auf die Server IP zeigen. Diese Anfrage wird von der Default Config des Plesk bedient. (/var/www/vhosts/default/htdocs/mail).

Beispiel für SmartNIC: @ 3600 IN TXT 10 "mailconf=https://server01.hoster.de/mail/config-v1.1.xml"

SmartNIC AutoConfig TXT Sample

Stylesheets / Fonts

Dieses Projekt greift auf die Fonts zurück, die extern auf eigenem Webspace ausgelagert sind. Beispielsweise genau wie die Config und die CSS Datei. Die Fonts wurden bei Google Font Lokal runtergeladen und anschließend mit Fontsquirrel konvertiert. Die Ausgabe besteht dann aus den verschiedenen Fonts und dem dazugehörigem CSS Code. Diese können Sie dann in die CSS Datei einbetten. Diese Anpassung ist optional.

Wenn es CORS Fehlermeldungen gibt, kann der folgende Plesk Artikel - How to set up CORS (cross-origin resource sharing) in Plesk for Linux? helfen.

Troubleshooting

Die Standard IP Adresse (gemeinsam genutzte IP Adresse) darf keine Standard-Site definiert haben.

Standard-Site

Credits