lord-icon
Goto Top

Auto-Discovery für E-Mail einrichten

Hi,

ich versuche grad eine Auto-Discovery für E-Mail einzurichten.
Allerdings fällt es mir grad schwer das ganze entsprechend umzusetzen. Offensichtlich akzeptiert Outlook die autodiscovery-Seite nicht.

Ich gehe stark davon aus, dass mein Fehler in der PHP datei liegt.

Hier erstmal meine Vhost
 <VirtualHost 123.123.123.123:80>
  ServerName autodiscover.domain.de

    DocumentRoot "/var/www/htdocs/ks011/html/pages"
  php_admin_value open_basedir "/var/www/htdocs/ks011:/usr/share/php"
  php_admin_value session.save_path "/var/www/htdocs/ks011/temp"
  php_admin_value upload_tmp_dir "/var/www/htdocs/ks011/temp"
  php_admin_value safe_mode_exec_dir "/var/www/htdocs/ks011/temp"
  php_admin_flag register_globals off
  php_admin_flag safe_mode  On
  php_admin_value mail.add_x_header 1
  </VirtualHost>
In "/var/www/htdocs/web1/html/pages/autodiscover/autodiscover.php" liegt auch die entsprechende Datei.

Da Outlook ja eine XML Datei erwartet habe ich eine .htacess in diesen Ordner zu liegen:

RewriteEngine   On
RewriteRule ^(.*).xml$ $1.php

Options +FollowSymLinks
Options +Indexes


Laut Doku: => http://www.nambu.ch/blog/automatische-e-mail-konfiguration-fur-outlook müsste Outlook nun meine Adresse: https://autodiscover.domain.de/autodiscover/autodiscover.xml aufrufen.
Laut Log tuts das auch... nur bekomme folgende Fehlermeldung ins Log

Tue Apr 14 19:28:56 2015] [error] [client 123.66.123.131] PHP Parse error:  syntax error, unexpected 'version' (T_STRING) in /var/www/htdocs/ks011/html/pages/autodiscover/autodiscover.php on line 5
Leide finde ich keine andere PHP Howto Seite. Ist die Anleitung fehlerhaft oder hab ich n anderen Fehler drin?
Danke

Content-Key: 269114

Url: https://administrator.de/contentid/269114

Printed on: April 19, 2024 at 05:04 o'clock

Member: lord-icon
lord-icon Apr 14, 2015 updated at 18:02:31 (UTC)
Goto Top
NAchtrag:
Die PHP Datei ist offensichtlich fehlerhaft.

So klappt der manuelle Aufruf:
<?php
$data = file_get_contents("php://input");  
preg_match("/\<EMailAddress\>(.*?)\<\/EMailAddress\>/", $data, $matches);  
header("Content-Type: application/xml");  

echo '<?xml version="1.0" encoding="utf-8" ?>';  
?>

<Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006">  
...
Nur Outlook/Thunderbird findet noch nicht die korrekten einstellungen
Member: Dani
Dani Apr 14, 2015 at 19:20:14 (UTC)
Goto Top
Moin,
es läuft doch sicher im Backend Exchange 2007, 2010 oder 2013. Warum also das Rad neu erfinden und nicht auf die dortige Funktion zurückgreifen. Absehen davon wäre der Exchange trotzdem direkt aus dem Internet erreichbar. Was sicherheitstechnisch - sagen wir mal - fahrlässig ist.Einen Reverseproxy brauchst du später für Active Sync, OWA oder Outlook Anywhere, wenn dir was an Sicherheit liegt. SOmit kannst du damit auch Autodiscover erschlagen und hast eine saubere Trennung.


Gruß,
Dani
Member: lord-icon
lord-icon Apr 14, 2015 at 23:22:45 (UTC)
Goto Top
es läuft doch sicher im Backend Exchange 2007, 2010 oder 2013.

Ja aber GANZ sicher nicht.
Linux mit Dovecot,postfix, etc.
Mitglied: 114757
Solution 114757 Apr 15, 2015 updated at 12:39:23 (UTC)
Goto Top
Moin,
dir ist schon klar das Outlook hier eine SSL gesicherte Seite mit einem gültigen Zertifikat erwartet !?
Laut deiner vHosts Config ist sie das nicht, und das kann so eben nicht funktionieren.

Les die Anleitung nochmal genau durch ....
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.

Und noch was, das Document-Root in deiner vHosts
DocumentRoot "/var/www/htdocs/ks011/html/pages"   
passt nun garnicht mit dem Verzeichnis überein in welchem die PHP-Datei liegt
In "/var/www/htdocs/web1/html/pages/autodiscover/autodiscover.php" liegt auch die entsprechende Datei.

Und es heißt nicht .htacess sondern .htaccess

Also nochmal penibelste alle Details überarbeiten, dann klappt das auch face-wink

Gruß jodel32