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

J'écris une application CMS en PHP et l'une des exigences est qu'elle doit pouvoir s'interfacer avec le serveur Exchange du client. J'ai déjà écrit cette fonctionnalité plusieurs fois et j'ai toujours utilisé WebDAV pour le faire, mais maintenant je m'éloigne de ça.

Je vais exécuter le site sur IIS OU Apache (sans préférence) sur le serveur Windows 2008. Quelques choses que je devrais faire incluent l'ajout de contacts au carnet d'adresses d'un utilisateur donné, l'envoi de courriels en tant qu'utilisateur donné et l'exécution de rapports sur les contacts pour un utilisateur.

Tout cela est assez facile à faire avec WebDAV, mais s'il y a un meilleur moyen qui ne nécessite aucune fonctionnalité qui risque d'être obsolète de sitôt.

Des idées?

Mettre à jour:

Justin, j'adore l'idée d'utiliser des objets com, je m'inquiète juste du maintien d'un 3ème produit pour que tout fonctionne ...

John, je peux écrire un service web en C# pour m'interfacer avec ces fonctions et y accéder avec mon application PHP, mais c'est aussi un peu à l'écart.

Jusqu'à présent, je ne suis pas convaincu à 100% que l'un ou l'autre est meilleur que WebDAV ...

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

0
ajouté édité
Vues: 2
@Dave: Ne sauvegarder que les jeux
ajouté l'auteur Polsonby, source
Je vote pour WebDAV. S'il peut faire ce dont vous avez besoin, restez avec. C'est une interface simple et bien définie. COM et consorts sont les plus flexibles mais peu documentés et souvent instables.
ajouté l'auteur Pekka 웃, source
Quelqu'un devrait trouver un moyen de remplacer/recharger ceux-ci, sinon ma collection va se dévaloriser sérieusement avant qu'ils ne deviennent de sérieux objets de collection :-p
ajouté l'auteur Brian, source
J'aimerais pouvoir voter plus d'une fois. ;)
ajouté l'auteur blcArmadillo, source
Pouvez-vous pointer vers un exemple de connexion au serveur Exchange avec WEBDAV en php? Je voudrais ajouter un événement de calendrier pour échanger le serveur.
ajouté l'auteur shasi kanth, source
@Mechko: ils les remplacent depuis des années: the9thkey.com/games/Nesbatt.htm
ajouté l'auteur rfunduk, source
Quelle? Vous voulez dire qu'ils sont alimentés par batterie et perdent toutes les sauvegardes lorsque la batterie meurt? Oo Est-ce que cela n'affecte que les sauvegardes ou rendra-t-il le jeu entier injouable?
ajouté l'auteur svec, source

9 Réponses

Selon cette page , les piles durent 15-20 ans.

31
ajouté
Sensationnel. Une qualité vraiment impressionnante, compte tenu de 5-10 ans n'aurait pas fait de mal à leurs ventes au moindre.
ajouté l'auteur rfunduk, source
peut être utile un jour
ajouté l'auteur Keaanu, source

Je n'ai pas utilisé PHP pour le faire, mais j'ai l'habitude d'utiliser C# pour obtenir la même chose.

L'API Outlook est un moyen d'automatiser Outlook plutôt que de se connecter directement à Exchange. J'ai déjà pris cette approche dans une application C# et cela fonctionne bien que peut être bogué.

Si vous souhaitez vous connecter directement au serveur Exchange, vous devrez rechercher le MAPI étendu.

Dans le passé, j'ai utilisé ce MAPIEx: Wrapper MAPI étendu .

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

Mettre à jour:

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

Je suis d'accord pour ajouter plus de couches à votre application et compter sur un code tiers peut être effrayant (et à juste titre).

Aujourd'hui, j'ai lu un autre message intéressant étiqueté comme MAPI qui est sur un sujet différent. La chose la plus importante ici est qu'elle est liée à cet article MS important . Jusqu'à présent, je n'étais pas conscient des problèmes liés à l'utilisation du code managé pour l'interface avec MAPI, bien que le code C ++ du composant ne soit pas affecté par cette erreur car il n'est pas géré.

Cette entrée de blog suggère également d'autres moyens de se connecter au serveur MAPI / Exchange. Dans ce cas, en raison de ces nouveaux faits http://us3.php.net/imap peut être le répondre comme suggéré par l'autre utilisateur.

0
ajouté

Votre client utilise-t-il Exchange 2007? Si oui, je jetterai un coup d'oeil à Services Web Exchange . Sinon, aussi poilu que cela puisse être, je pense que WebDAV est votre meilleur pari.

Personnellement, je n'aime pas utiliser la route d'objet COM Outlook.Application, car ses invites de sécurité ("Une application tente d'accéder à vos contacts, autoriser cela?", Etc.) peuvent provoquer des problèmes sur un serveur. Je pense également qu'il serait difficile d'accomplir vos tâches de type d'emprunt d'identité en utilisant Outlook, comme l'envoi de courrier en tant qu'utilisateur donné.

0
ajouté

Je ne suis pas un développeur PHP mais Google dit que PHP 5+ peut instancier des 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")

Référence de l'API Outlook

0
ajouté

Cette extension Zarafa PHP MAPI semble fonctionner.

0
ajouté

I would recommend using "PHP Exchange Web Services" or short php-ews.

Une bonne quantité de documentation sous le wiki m'a beaucoup aidé.

0
ajouté

Je ne peux pas recommander suffisamment la bibliothèque Redemption Data Objects de Dmitry Streblechenko. C'est un composant COM qui fournit une API saine à MAPI étendu et est un plaisir à utiliser. Les balises de l'API Exchange se déplacent d'une version à l'autre:? Utilisez le lecteur M:! Non, utilisez WebDAV! Non, utilisez ExOLEDB !? Non, utilisez les services Web !? avec la seule constante étant le bon vieux MAPI.

0
ajouté

Je voudrais regarder dans IMAP

IMAP, POP3 et NNTP

0
ajouté

J'ai publié une bibliothèque sous licence open source MIT qui vous permet de faire quelques opérations de base en PHP en utilisant les services Web Exchange.

Services Web Exchange pour PHP

Je l'ai seulement testé sur Linux mais je ne vois pas pourquoi cela ne marcherait pas sur une installation Windows de PHP.

0
ajouté
Salut, pouvez-vous élaborer sur la façon dont je peux créer un événement de calendrier sur le serveur d'échange de mon script PHP?
ajouté l'auteur shasi kanth, source
Merci, je dois donc héberger le serveur d'échange et l'intégrer avec mon site php? Et également intégrer Outlook et Exchange Server manuellement? Avez-vous une idée de l'intégration du serveur php-exchange?
ajouté l'auteur shasi kanth, source
Il y a une fonction appelée "create_event". Cela devrait être assez explicite. github.com/rileydutton/Exchange- Web-Services-pour-PHP / blob / & hellip;
ajouté l'auteur Riley Dutton, source