Веб-службы Exchange Server 2007 Класс PHP

Кто-нибудь знает о PHP-классе с открытым исходным кодом (желательно лицензии BSD или MIT), который будет взаимодействовать с веб-службами MS Exchange Server 2007 через. МЫЛО?

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

У меня была такая же проблема, поэтому я начал что-то строить, здесь:

https://github.com/rileydutton/Exchange-Web-Services-for-PHP

Это еще не так много (в основном, вы можете получить список сообщений электронной почты с сервера и отправить электронную почту), но было бы достаточно, чтобы использовать его в качестве базовой отправной точки для выполнения более сложных задач.

Я отвлекся от некоторой сложности, с которой вам придется столкнуться с помощью php-ews. Если вы хотите сделать некоторые сырые, мощные команды с сервером, я бы использовал php-ews … это для людей, которые просто работают с сервером Exchange и хотят простой способ выполнить некоторые основные задачи.

О, и это лицензия MIT.

Надеюсь, что кто-то сочтет это полезным!

Вот вам класс: php-ews (эта библиотека упрощает реализацию веб-служб Microsoft Exchange 2007 в PHP). Вы можете найти его по адресу: http://code.google.com/p/php-ews/

Существует только один пример, но это должно дать вам способ его реализации. Ниже вы можете найти реализацию, чтобы:

  • подключиться к серверу
  • получать события календаря

Примечание. Не забудьте заполнить пустые переменные. Вам также необходимо будет включить файлы классов php-ews (я использовал функцию __autoload PHP).

$host = ''; $username = ''; $password = ''; $mail = ''; $startDateEvent = ''; //ie: 2010-09-14T09:00:00 $endDateEvent = ''; //ie: 2010-09-20T17:00:00 $ews = new ExchangeWebServices($host, $username, $password); $request = new EWSType_FindItemType(); $request->Traversal = EWSType_FolderQueryTraversalType::SHALLOW; $request->CalendarView->StartDate = $startDateEvent; $request->CalendarView->EndDate = $endDateEvent; $request->CalendarView->MaxEntriesReturned = 100; $request->CalendarView->MaxEntriesReturnedSpecified = true; $request->ItemShape->BaseShape = EWSType_DefaultShapeNamesType::ALL_PROPERTIES; $request->ParentFolderIds->DistinguishedFolderId->Id = EWSType_DistinguishedFolderIdNameType::CALENDAR; $request->ParentFolderIds->DistinguishedFolderId->Mailbox->EmailAddress = $mail; $response = $ews->FindItem($request); echo '<pre>'.print_r($response, true).'</pre>'; 

Сервер Exchange поддерживает WebDAV:

http://www.troywolf.com/articles/php/exchange_webdav_examples.php

Если все, что вы хотите сделать, это отправлять сообщения, вы можете просто использовать SMTP:

http://ca2.php.net/manual/en/book.mail.php

Я изучил эту же проблему, и мне еще предстоит найти класс, специфичный для MS Exchange. Однако, если вы сами изучаете и строите XML, вам может потребоваться ознакомиться с разделами NTLM SOAP по адресу http://rabaix.net/en/articles/2008/03/13/using-soap-php -with-ntlm-authentication . Это позволит вам выполнить проверку подлинности в Active Directory, чтобы сделать ваши SOAP-вызовы, которые не позволяет вашему собственному PHP SOAP. Другим приличным ресурсом, который использует тот же метод для подключения к MS CRM, является http://www.reutone.com/heb/articles_internet.php?instance_id=62&actions=show&id=521 .

Примеры под http://www.troywolf.com/articles/php/exchange_webdav_examples.php относятся к Exchange 2003, но не к 2007 году.