Le meilleur moyen d'accéder à Exchange en utilisant PHP?

voix
49

Je vous écris une application CMS en PHP et une des exigences est qu'il doit être en mesure d'interface avec le serveur Exchange du client. J'ai écrit cette fonctionnalité plusieurs fois avant et ont toujours utilisé WebDAV pour le faire, mais maintenant je me penche loin de là.

Je courrai le site sur IIS ou Apache (pas de préférence) sur serveur Windows 2008. Quelques choses que je aurais besoin de faire ajouter des contacts dans le carnet d'adresses d'un utilisateur donné, l'envoi de courriels comme un utilisateur donné et les rapports en cours d'exécution sur les contacts pour une utilisateur.

Tout cela est assez facile à faire avec WebDAV, mais s'il y a une meilleure façon qui ne nécessite aucune fonctionnalité qui est susceptible d'être dépréciée dans un proche avenir.

Des idées?

Mettre à jour:

Justin, j'aime l'idée d'utiliser des objets com, je crains seulement de maintenir un 3ème produit à tout faire fonctionner ...

John, je peux écrire un service Web en C # pour l'interface avec ces fonctions et d'accéder avec mon application PHP, mais il est aussi un peu de la route.

Jusqu'à présent, je ne suis pas convaincu à 100% que ce soit d'entre eux est mieux que WebDAV ...

Quelqu'un peut-il me montrer où je suis stupide?

Créé 03/08/2008 à 01:03
source utilisateur
Dans d'autres langues...                            


8 réponses

voix
21

Je ne l'ai pas utilisé PHP pour le faire, mais avoir une expérience dans l'utilisation de C # pour obtenir la même chose.

L'API Outlook est une façon d'automatiser Outlook plutôt que dans la connexion à Exchange directement. Je l'ai déjà adopté cette approche dans une application C # et il ne fonctionne bien peut être buggy.

Si vous souhaitez vous connecter directement au serveur Exchange, vous aurez besoin de recherche MAPI étendu.

Dans le passé , j'utilisé cette enveloppe MAPIEx: MAPI étendu Wrapper .

Il est un projet C #, mais je crois que vous pouvez utiliser un code .NET sur un serveur de Windows PHP5. Alternativement, il a une DLL de base C ++ que vous pouvez être en mesure d'utiliser. Je l'ai trouvé pour être très bon et il y a des applications de bonne exemple.

Mettre à jour:

Désolé pour le retard actuellement aucune façon de garder une trace des messages encore.

Je suis d'accord en ajoutant plus de calque sur votre application et le code se fondant sur la 3ème partie peut être effrayant (et à juste titre.)

Aujourd'hui , je lis un post intéressant marqué comme MAPI qui est sur un autre sujet. L'élément clé ici est bien qu'il est lié à cet article important MS . Je suis pas au courant des problèmes jusqu'à présent sur l' utilisation de code managé à l' interface MAPI bien que le code C ++ dans le composant ne doit pas être affecté par cette erreur car il est non géré.

Cette entrée de blog propose également d' autres façons de se connecter au serveur MAPI / Exchange. Dans ce cas , en raison de ces faits nouveaux http://us3.php.net/imap peuvent être la réponse comme suggéré par l'autre utilisateur.

Créé 03/08/2008 à 08:50
source utilisateur

voix
13

Votre client à l' aide Exchange 2007? Si oui, je jeter un oeil à des services Web Exchange . Dans le cas contraire, comme poilu comme il peut être, je pense que WebDAV est votre meilleur pari.

Personnellement, je n'aime pas utiliser la route objet Outlook.Application COM, comme ses invites de sécurité ( « Une application tente d'accéder à vos contacts. Autoriser ce? », Etc.) peuvent causer des problèmes sur un serveur. Je pense aussi qu'il serait difficile d'accomplir vos tâches d'usurpation d'identité comme Outlook, telles que l'envoi de courrier comme un utilisateur donné.

Créé 05/08/2008 à 03:35
source utilisateur

voix
8

Je ne peux pas recommander de Dmitry Streblechenko de données de rachat des objets bibliothèque assez. Il est un composant COM qui fournit une API saine à MAPI étendu et est une joie à utiliser. Les poteaux de but API Exchange se déplacent d'une version à l'autre: « Utilisez le lecteur M:! Non, utiliser WebDAV! Non, utilisez ExOLEDB! ... Non, utiliser les services Web! » Avec la seule constante étant bon vieux MAPI.

Créé 01/09/2008 à 21:33
source utilisateur

voix
7

J'ai publié un MIT open source bibliothèque sous licence qui vous permet de faire quelques opérations de base en PHP à l'aide des services Web Exchange.

Services Web Exchange pour PHP

Je n'ai testé sur Linux, mais je ne vois aucune raison pour laquelle cela ne fonctionnerait pas sur une installation Windows de PHP ainsi.

Créé 04/05/2011 à 14:47
source utilisateur

voix
6

Je ne suis pas un dev PHP mais Google dit que PHP 5+ peut instancier les composants COM. Si vous pouvez installer Outlook sur une boîte, vous pouvez écrire un service Web PHP autour du composant COM pour gérer les demandes dont vous avez besoin.

$outlook = COM("Outlook.Application")

Perspectives API referance

Créé 03/08/2008 à 04:07
source utilisateur

voix
5

Cette Zarafa PHP MAPI l' extension semble que cela pourrait fonctionner.

Créé 09/05/2012 à 19:47
source utilisateur

voix
4

Je regarderais en IMAP

IMAP, POP3 et NNTP

Créé 04/08/2008 à 18:00
source utilisateur

voix
2

Je vous conseille d' utiliser " PHP Exchange Web Services " ou court php-EWS.

Quantité de documents sous le wiki , m'a beaucoup aidé.

Créé 01/02/2013 à 14:20
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more