Dies ist die Fortsetzung des ActiveSync Artikels. Der erste Teil „ActiveSync mit Z-Push und Courier IMAP“ ist hier zu finden.

Damit die Mailbox-Konfiguration auf dem Mobile Phone etwas einfacher wird, gibt es AutoDiscover für ActiveSync. Das Prinzip ist relativ einfach:

Das Mobile Phone sendet einen XMLRequest an http(s)://autodiscover.mytestdomain.com/Autodiscover/Autodiscover.xml.

Der Request sieht so aus:

<?xml version="1.0" encoding="utf-8"?>
<Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/mobilesync/requestschema/2006">
<Request>
<EMailAddress>meine.emailadresse@mytestdomain.com</EMailAddress>
<AcceptableResponseSchema>http://schemas.microsoft.com/exchange/autodiscover/mobilesync/responseschema/2006</AcceptableResponseSchema>
</Request>
</Autodiscover>

Die Response ist wie folgt:

<?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">
<Culture>en:en</Culture>
<User>
<DisplayName>meine.emailadresse@mytestdomain.com</DisplayName>
<EMailAddress>meine.emailadresse@mytestdomain.com</EMailAddress>
</User>
<Action>
<Settings>
<Server>
<Type>MobileSync</Type>
<Url>https://mail.mytestdomain.com/Microsoft-Server-ActiveSync</Url>
<Name>https://mail.mytestdomain.com/Microsoft-Server-ActiveSync</Name>
</Server>
</Settings>
</Action>
</Response>
</Autodiscover>

Nun weiss das Mobile Phone, welches der Mailserver ist (und allenfalls auch wie Vorname und Name des Benutzers lautet. Wurde aber von mir nicht implementiert.).

So hab‘ ich’s gemacht:

  • DNS Eintrag für autodiscover.mytestdomain.com erstellen
  • Neuen VirtualHost erstellen (Hinweis: Das SmartPhone probiert zuerst mit https auf autodiscover zuzugreifen, was je nachdem zu einem Zertifikatsfehler führt.
  • Zusätzlich diese Aliase konfigurieren (insgesamt nur zwei Zeilen):


Alias /Autodiscover/Autodiscover.xml "/path/to/document/root/autodiscover/autodiscover.php"
Alias /AutoDiscover/AutoDiscover.xml "/path/to/document/root/autodiscover/autodiscover.php"

  • Das Script autodiscover.php ins DocumentRoot kopieren, nach .php umbenennen und Variablen anpassen. Fertig.

Das Script verfügt über eine Debug Funktion und loggt in den Ordner autodiscover-debug/, der auf der gleichen Ebene wie das Document Root liegt.

Ursprünglich habe ich das Script von hier, aber leider funktionierte dies nicht, worauf ich es nach meinem Gusto umgeschrieben habe.

« »