Automatische E-Mail Konfiguration für Outlook

Lukas [nambu, Tricks und Tools, Technologien]

Als Hoster kann für Outlook eine Konfigurationsdatei angelegt werden, die beim Einrichten konsultiert wird, um den Account an zu legen. Auch als eher kleinerer Provider kann man das ohne grossen Aufwand bewerkstelligen.

Als erstes erstellt man für seine Hauptdomain wie z.B. nambu.ch die Subdomain autodiscover.nambu.ch. Outlook sucht nämlich als erstes an folgender Stelle:

https://autodiscover.nambu.ch/autodiscover/autodiscover.xml

Per POST kommen einige Angaben von Outlook mit. So zum Beispiel die Emailadresse. Um diese dynamisch in das XML einzubauen kann man via PHP die Abfrage entgegen nehmen und ist dank einem einfachen rewrite trotzdem als XML auf zu finden.

Outlookkonfiguration per XML

<?php
$data = file_get_contents("php://input");
preg_match("/\<EMailAddress\>(.*?)\<\/EMailAddress\>/", $data, $matches);
header("Content-Type: application/xml");
?><?xml version="1.0" encoding="utf-8" ?>
<Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006">
<Response xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a">
<Account>
<AccountType>email</AccountType>
<Action>settings</Action>
<Protocol>
<Type>POP3</Type>
<Server>mail.nambu.ch</Server>
<Port>110</Port>
<LoginName><?php echo $matches[1]; ?></LoginName>
<DomainRequired>off</DomainRequired>
<SPA>off</SPA>
<SSL>off</SSL>
<AuthRequired>on</AuthRequired>
<DomainRequired>off</DomainRequired>
</Protocol>
<Protocol>
<Type>IMAP</Type>
<Server>mail.nambu.ch</Server>
<Port>993</Port>
<DomainRequired>off</DomainRequired>
<LoginName><?php echo $matches[1]; ?></LoginName>
<SPA>off</SPA>
<SSL>on</SSL>
<AuthRequired>on</AuthRequired>
</Protocol>
<Protocol>
<Type>SMTP</Type>
<Server>mail.nambu.ch</Server>
<Port>587</Port>
<DomainRequired>off</DomainRequired>
<LoginName><?php echo $matches[1]; ?></LoginName>
<SPA>off</SPA>
<SSL>off</SSL>
<AuthRequired>on</AuthRequired>
<UsePOPAuth>on</UsePOPAuth>
<SMTPLast>off</SMTPLast>
</Protocol>
</Account>
</Response>
</Autodiscover>

Auslieferung der Konfiguration an Outlook

Damit das XML gefunden wird, ist lediglich noch ein einfacher apache vhost nötig. Wichtig: Outlook schreibt https vor. Es muss also ein gültiges Sicherheitszertifikat für den vhost vorliegen. Damit es zu keinen Warnungen kommt sollte es ein von einer gültigen Certificate Authority signiertes Zertifikat sein. Für unseren Fall ist unser Wildcard-Zertifikat das richtige.

<VirtualHost *:443>
  ServerAdmin info@nambu.ch
  ServerName  autodiscover.nambu.ch

  SSLEngine on
  SSLCertificateFile PemFile
  SSLCertificateKeyFile KeyFile

  RewriteEngine On
  RewriteMap lc int:tolower
  RewriteCond %{REQUEST_URI} [A-Z]
  RewriteRule (.*) ${lc:$1} [R=301,L]

  DocumentRoot /var/www/vhosts/autodiscover
  <Directory />
    Options +FollowSymLinks -Indexes
    AllowOverride Options Indexes Limit FileInfo AuthConfig
  </Directory>

  Alias /autodiscover/autodiscover.xml /var/www/vhosts/autodiscover/autodiscover/autodiscover.php

</VirtualHost>

In der Praxis

Die Angabe der E-Mail Adresse reicht nun, dass Outlook automatisch die korrekten Servereinstellungen einstellt. Der Kunde muss weder ein Handbuch noch Konfigurationsblätter studieren. Auch der Supportaufwand seitens Anbieter verkleinert sicht!

Die Angabe der E-Mail Adresse reicht nun, dass Outlook automatisch die korrekten Servereinstellungen einstellt.

Der Kunde muss weder ein Handbuch noch Konfigurationsblätter studieren. Auch der Supportaufwand seitens Anbieter verkleinert sicht!

Weitere Domains

Damit Autodiscover auch für weitere Domains funktioniert ist nicht viel nötig. Als Beispiel für nambupage.ch. Es reicht unter _autodiscover._tcp einen SRV Eintrag mit dem Inhalt "5 443 autodiscover.nambu.ch" zu erstellen. Da das XML nun unter nicht unter der E-Maildomain zu finden ist, blendet Outlook einen Warnhinweis ein. Dies obwohl die Information im DNS steht und somit nur von einer Person gemacht werden kann, die durchaus als Zuständig für die korrekten Einstellungen für die E-Mails bezeichnet werden kann. Aber das ist halt so. Microsoft. Ihre Kunden werden aber bestimmt ihre Domain wiedererkennen und den Zugriff zulassen.

zurück