IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

[PHP + Exchange] Accéder aux mails + Serveur Exchange


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre actif Avatar de JmL40
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 348
    Points : 246
    Points
    246
    Par défaut [PHP + Exchange] Accéder aux mails + Serveur Exchange
    Bonjour,

    Je cherche tant bien que mal à accéder à un serveur Microsoft Exchange de l'intranet de mon entreprise par l'intermédiaire d'un script PHP.

    J'ai recherché des outils et méthodes sur internet, mais après une multitude de tests, et re-tests, je n'ai pas trouvé de solution.
    Pour information, je me suis tourné vers une class Webdav (source : http://www.troywolf.com/articles/php...v_examples.php) mais je ne comprend toujours pas le principe de fonctionnement.

    Je recherche donc des informations sur l'ensemble des moyens me permettant d'accéder à un serveur Exchange en PHP. je souhaiterai connaitre vos méthodes.

    Merci à vous tous !

    Cordialement
    while (true) echo 'comique';
    Du comique de répétition ...
    Pour des questions de lisibilité, utilisez la balise [code]
    Si votre problème est résolu, n'oubliez pas le tag

  2. #2
    Membre actif Avatar de JmL40
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 348
    Points : 246
    Points
    246
    Par défaut
    Re,

    Je suis toujours à la recherche d'information, je m'oriente vers WebDav, peut-on me donner plus de précisions s'il vous plait ?

    Merci
    while (true) echo 'comique';
    Du comique de répétition ...
    Pour des questions de lisibilité, utilisez la balise [code]
    Si votre problème est résolu, n'oubliez pas le tag

  3. #3
    Futur Membre du Club
    Profil pro
    Maitre du monde
    Inscrit en
    Juin 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Maitre du monde

    Informations forums :
    Inscription : Juin 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Qu'est ce que tu ne comprends pas au juste ?
    A partir de php à l'aide de l'exemple sur le site de Troy Wolf j'ai réussie à accéder à outlook 2003.
    J'ai utlisé la classe XML de troy.
    Par contre je n'ai pas utilisé sa classe http car pour discuter avec un server exchange sauf erreur de ma part il faut utiliser HTTP 1.1, je n'ai pas réussie à utiliser la classe HTTP de troy en 1.1.
    J'ai plutot utilisé la classe Zend_Http_Client.

    Sinon si tu veux comprendre il faut avoir un minimum de connaissance en XML, HTTP, WEBDAV, OUTLOOK et ne pas avoir peur de mettre les mains dans le code.

    va sur ce site Dan's WebDAV 101 et surtout télécharge le fichier au format WORD WEBDAV 101 -rev 1.6.doc, il y à pas mal d'info.

    Ensuite pour outlook il y a le MSDN, tu as des info sur les differents namespace.

    Télécharge ExchExplorer, cet outil se trouve dans le Exchange2007SDK.msi.

    Ensuite va sur le site www.independentsoft.de lit leur doc et tu verras ce qu'il est possible de faire par le biais de webdav.

    J'ai fais en PHP un ORM et j'avais comme idée d'utilisé mon ORM pour accéder à un serveur exchange afin de récupérer les événements d'agenda, les rendez vous ...
    Je sais que c'est possible, j'ai commencé comme bien d'autre chose mais par manque de temp (le boulot ) je n'ai pas continué.

    Comme test je me suis installé sur virtual PC un windows serveur 2003 avec exchange server 2003, depuis mon pc je faisais des requêtes sur la machine virtuel.

    Ci-dessous un exemple de code
    $sRootUrl = 'http://10.168.0.161/Exchange/user.name/';
    $sCalUrl1 = $sRootUrl . rawurlencode(utf8_encode('Boîte de réception')) . '/';
    $sCalUrl2 = $sRootUrl . rawurlencode(utf8_encode('Boîte d\'envoi')) . '/';
    $sCalUrl3 = $sRootUrl . rawurlencode(utf8_encode('Calendrier')) . '/';

    require_once dirname(__FILE__) . '/helper/class_xml.php';
    require_once('Zend/Http/Client.php');
    $oHttp = new Zend_Http_Client($sRootUrl);

    $oHttp->setHeaders(
    array(
    'Depth' => '0',
    'Translate' => 'f',
    'Keep-Alive' => '1',
    'Content-Type' => 'text/xml; charset="UTF-8"'
    )
    );

    $sXml =
    '<?xml version="1.0"?>
    <a:searchrequest xmlns:a="DAV:" xmlns:s="http://schemas.microsoft.com/exchange/security/">
    <a:sql>
    Select
    "DAV:href",
    "DAV:displayname",
    "urn:schemas:calendar:location",
    "DAV:contentclass"
    FROM
    Scope(
    \'SHALLOW TRAVERSAL OF "' . $sCalUrl1 . '"\',
    \'SHALLOW TRAVERSAL OF "' . $sCalUrl2 . '"\',
    \'HIERARCHICAL TRAVERSAL OF "' . $sCalUrl3 . '"\'
    )
    WHERE
    "DAV:ishidden" = FALSE
    </a:sql>
    </a:searchrequest>';

    $oHttp->setAuth($oConfiguration->sLogin, $oConfiguration->sPassword);
    $oHttp->setRawData($sXml)->setEncType('text/xml')->request('SEARCH');

    $oXml = new xml();
    if(!$oXml->fetch($oHttp->getLastResponse()->getBody())) {
    echo '<h2>There was a problem parsing your XML!</h2>';
    echo '<pre>'.$oHttp->log.'</pre><hr />' . "\n";
    echo '<pre>'.$oHttp->header.'</pre><hr />' . "\n";
    echo '<pre>'.$oHttp->body.'</pre><hr />' . "\n";
    echo '<pre>'.$oXml->log.'</pre><hr />' . "\n";
    exit();
    }
    debug($oXml);

    foreach($oXml->data->A_MULTISTATUS[0]->A_RESPONSE as $idx=>$item)
    {
    $sMessage = '';
    $sMessage .=
    $item->A_PROPSTAT[0]->A_PROP[0]->A_DISPLAYNAME[0]->_text . "\r\n" .
    $item->A_HREF[0]->_text . "\r\n";
    }
    debug($sMessage);

  4. #4
    Membre actif Avatar de JmL40
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 348
    Points : 246
    Points
    246
    Par défaut
    Salut,

    Merci, je vais explorer toutes ces idées, et je te contacte pour plus de précisions !

    Cordialement
    while (true) echo 'comique';
    Du comique de répétition ...
    Pour des questions de lisibilité, utilisez la balise [code]
    Si votre problème est résolu, n'oubliez pas le tag

  5. #5
    Membre actif Avatar de JmL40
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 348
    Points : 246
    Points
    246
    Par défaut
    Re :

    J'ai exactement trouvé ce que je voulais grâce à toi !

    Je me suis donc créer un petit script qui récupère l'essentiel de l'information que je veux, en l'occurrence, sujet, date, expéditeur de chaque mails contenu dans la boite de réception. Idem pour la partie calendrier ou je récupère le titre et la date d'un événement.

    Par contre, j'aurai deux questions en plus :

    - Comment récupérer uniquement les mails non lus ?
    - Comment récupérer les événements entre deux dates ?

    Merci à vous !

    Cordialement
    while (true) echo 'comique';
    Du comique de répétition ...
    Pour des questions de lisibilité, utilisez la balise [code]
    Si votre problème est résolu, n'oubliez pas le tag

Discussions similaires

  1. Impossible d'accéder aux mails ou https
    Par maestro1303 dans le forum Windows XP
    Réponses: 6
    Dernier message: 02/04/2013, 14h28
  2. Serveur exchange migré d'un serveur à un autre
    Par Noobios dans le forum Exchange Server
    Réponses: 2
    Dernier message: 06/02/2013, 13h40
  3. Accéder boite mail sur Exchange
    Par Hellnino18 dans le forum Windows
    Réponses: 1
    Dernier message: 01/07/2010, 17h06
  4. Fonction mail() / Serveur Exchange
    Par kilian dans le forum Langage
    Réponses: 2
    Dernier message: 06/01/2010, 14h49
  5. comment je peu accéder a un serveur exchange ché l'hebergeur
    Par boummdz dans le forum Exchange Server
    Réponses: 1
    Dernier message: 23/12/2007, 20h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo