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.
« ActiveSync mit Z-Push und Courier IMAP Firefox Sync Now mit eigenem Apache Server »
Der Artikel hat zwar schon einige Jahre auf dem Buckel – immerhin ist das das einzige funktionierende Beispiel für autoconfig, das ich gefunden habe 🙂
Nur: Du übergibst IMAPS und Submission an den Client – dann ist doch aber ActiveSync (z-push) gar nicht mehr beteiligt?
Wow, schon mehr als drei Jahre. Ich komme leider gar nicht mehr dazu zu basteln… dementsprechend ist es leider auch still geworden.
Zu deiner Frage:
Jein. Wenn der Client Auto Discover gemäss Schema http://schemas.microsoft.com/exchange/autodiscover/mobilesync/responseschema/2006 versteht, benutzt er ActiveSync. IMAPS und Submission kommt nur als Fallback daher (Schema: http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a), z.B. für Outlook.
Hi,
wir haben momentan das Problem, dass autodiscover nur bis Android 4.x funktioniert, ab Android 5.0 werden die Server-Einstellungen nicht mehr übernommen.
das apache access log gibt nur folgendes aus:
217.xxx.xxx.xxx – martin@xxx.xxx [14/Jul/2015:09:33:01 +0200] „POST /autodiscover/autodiscover.xml HTTP/1.1“ 200 5666 „-“ „Android/5.1.1-EAS-2.0“
Hat sonst noch jemand dieses Problem, bzw. eine Lösung dazu?
Hi Martin
Vermutlich handelt es sich bei deinem Problem um dieses hier:
https://code.google.com/p/android/issues/detail?id=80951
Noch scheint es aber keine Lösung zu geben.
Gruss, Andy