3

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

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

ответ

8

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

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

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

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

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

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

0

Обмен сервер поддерживает WebDAV:

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

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

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

+0

У меня SMTP работает с NLTM auth. но сообщение не сохраняется в отправленных элементах. Я предполагаю, что WebDAV сохранит это в отправленных элементах и ​​отправит сообщение. – Luke

0

Я исследовал этот же вопрос и мне еще предстоит найти класс, специфичный для 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.

5

Вот это класс, который вам нужен: PHP-EWS (Эта библиотека делает Microsoft Exchange 2007 Web Services проще реализовать в 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>'; 

 Смежные вопросы

  • Нет связанных вопросов^_^