Лучший способ получить доступ к Exchange, с помощью PHP?

голоса
49

Я пишу приложение CMS в PHP и одним из требований является то , что он должен быть в состоянии взаимодействовать с сервером Exchange , клиента. Я написал эту функциональность несколько раз , прежде чем и всегда использовал WebDAV , чтобы сделать это, но теперь я отклоняясь от этого.

Я буду работать сайт на IIS ИЛИ Apache (нет предпочтений) на сервере Windows 2008. Несколько вещей, которые я должен был бы сделать, включают добавление контактов в адресную книгу данного пользователя, посылая электронную почту в качестве данного пользователя и запуска отчетов о контактах для пользователь.

Все это довольно легко сделать с помощью WebDAV, но если есть лучший способ, который не требует какого-либо функциональных возможностей, которые, вероятно, устареют в ближайшее время.

Есть идеи?

Обновить:

Джастин, я люблю идею использования COM-объектов, я просто беспокоюсь о сохранении 3-го продукта, чтобы сделать все работы ...

Джон, я могу написать веб-службу в C # для взаимодействия с этими функциями и доступа к нему с моей PHP приложением, но это также немного из пути.

До сих пор, я не 100% уверен, что любой из них лучше, чем WebDAV ...

Может кто-нибудь показать мне, где я веду себя глупо?

Задан 03/08/2008 в 01:03
источник пользователем
На других языках...                            


9 ответов

голоса
21

Я не использовал PHP, чтобы сделать это, но есть опыт использования C #, чтобы достичь того же.

API Перспективы является способ автоматизации Outlook, а не подключения непосредственно Exchange. Ранее я взял этот подход в C # приложение и оно работает, хотя может быть багги.

Если вы хотите подключиться к серверу Exchange, вам нужно будет исследовать расширенный интерфейс MAPI.

В прошлом я использовал эту обертку MAPIEx: Extended MAPI обертка .

Это # проект C, но я полагаю, вы можете использовать некоторый .NET код на сервере PHP5 Windows. В качестве альтернативы он имеет ++ ядро ​​DLL C, что вы можете быть в состоянии использовать. Я нашел, что это очень хорошо, и есть некоторые хорошие примеры приложений.

Обновить:

Извините за задержку нет тока способ следить за одного сообщения.

Я согласен добавить еще слой для вашего приложения и опираясь на код 3 партии может быть страшно (и это справедливо.)

Сегодня я прочитал еще один интересный пост помеченный в качестве MAPI , который находится на другом объекте. Главное здесь , хотя в том , что он связан с этой важной статьей MS . Я никогда не знали о вопросах до сих пор на использование управляемого кода для взаимодействия с MAPI , хотя C ++ код в компоненте должен быть затронут этой ошибкой , как это неуправляемое.

Эта запись в блоге также предлагает другие способы подключения к серверу MAPI / Exchange. В этом случае из - за эти новые факты http://us3.php.net/imap может быть ответ , как это было предложено другим пользователем.

Ответил 03/08/2008 в 08:50
источник пользователем

голоса
13

Является ли ваш клиент с помощью Exchange 2007? Если да, то я должен был бы посмотреть на веб - служб Exchange . Если нет, то, как волосатые , как это может быть, я думаю , WebDAV является лучшим выбором.

Лично я не люблю использовать объект маршрута Outlook.Application COM, так как его подсказки безопасности ( «Приложение пытается получить доступ к контактам. Разрешить это?», И т.д.) может вызвать проблемы на сервере. Я также думаю, что это будет трудно выполнить свои олицетворения подобных задачи с помощью Outlook, таких как отправка почты в качестве конкретного пользователя.

Ответил 05/08/2008 в 03:35
источник пользователем

голоса
8

Я не могу рекомендовать Дмитрий Streblechenko в Redemption Data Objects библиотеки достаточно высоко. Это COM компонент , который обеспечивает вменяемый API для Extended MAPI и радость для использования. Стойки ворот Обмен API перейти от одной версии к следующему: «Использование M: диск! Нет, использовать WebDAV! Нет, использовать EXOLEDB! ... Нет, использовать веб - службу!»С единственной константой, старый добрый MAPI.

Ответил 01/09/2008 в 21:33
источник пользователем

голоса
7

Я выпустил с открытым исходным кодом MIT лицензионную библиотека, которая позволяет сделать некоторые основные операции в PHP с помощью веб-служб Exchange.

Веб-службы Exchange для PHP

Я проверил его только на Linux, но я не вижу никаких причин, почему она не будет работать на установке Windows, РНР, а также.

Ответил 04/05/2011 в 14:47
источник пользователем

голоса
6

Я не PHP DEV, но Google говорит, что PHP 5 + может создать экземпляр COM-компонентов. Если вы можете установить Outlook, на поле вы можете написать PHP веб-службы вокруг COM компонента для обработки запросов вам нужно.

$outlook = COM("Outlook.Application")

Перспективы API Referance

Ответил 03/08/2008 в 04:07
источник пользователем

голоса
5

Это Zarafa PHP MAPI расширение выглядит , как он может работать.

Ответил 09/05/2012 в 19:47
источник пользователем

голоса
4

Я хотел бы посмотреть в IMAP

IMAP, POP3 и NNTP

Ответил 04/08/2008 в 18:00
источник пользователем

голоса
2

Я бы рекомендовал использовать « PHP веб - служб Exchange » или короткие PHP-EWS.

Изрядное количество документации по вики , мне очень помогло.

Ответил 01/02/2013 в 14:20
источник пользователем

голоса
0

https://github.com/Garethp/php-ews

В последний раз обновлен 3 месяца назад, так что поддерживается

Ответил 09/10/2018 в 16:31
источник пользователем

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