Exchange Server 2007 Web Hizmetleri PHP Sınıf

5 Cevap php

Herkes yoluyla MS Exchange Server 2007 Web Hizmetleri ile arayüz olacak bir açık kaynak PHP sınıfı (tercihen BSD veya MIT lisansı) biliyor mu. SABUN?

Ben aracılığıyla mesaj göndermek için işlevselliği olan bir üst düzey sınıf için arıyorum. web hizmeti.

5 Cevap

Bu aynı sorun vardı, bu yüzden burada, bir şey inşa etmeye başladı:

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

O (temelde sadece sunucudan e-posta mesajlarının bir listesini almak sağlar, ve e-posta göndermek) daha henüz, ama bu biraz daha karmaşık şeyler yapmak için temel bir başlangıç ​​noktası olarak kullanmak için yeterince iyi olurdu değil.

Ben php-ews kullanılarak zorlanmak gerekir karmaşıklığı iyi bir bit dışarı soyutlamak. Eğer sunucu ile bazı ham, güçlü komutları yapmak isteyen varsa, ben php-ews kullanmak ... Bu sadece bir Exchange sunucusu ile çalışan olarak gerçekleşmesi ve bazı temel görevleri yapmak için kolay bir yol istiyorum millet içindir.

Oh, ve MIT lisanslı.

Birisi yararlı bulduğu umut!

Here is a class that you need: php-ews (This library makes Microsoft Exchange 2007 Web Services easier to implement in PHP). You could find it at: http://code.google.com/p/php-ews/

There is only one example but that should give you the way to implement it. Below you can find an implementation in order to:

  • sunucusuna bağlanmak
  • takvim olayları olsun

Not: dolgu boş değişkenler unutmayın. Ayrıca php-ews sınıfları dosyaları (I __ özdevinimli_yükle PHP işlevi kullanılır) eklemek gerekir.

$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 sunucusu WebDAV:

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

Yapmak istediğiniz tüm iletileri göndermek ise, sadece SMTP kullanabilirsiniz:

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

Ben bu aynı sorunu araştırma olmuştur ve MS Exchange için bir sınıf belirli bulmak zorunda. Kendinizi öğrenme ve XML bina kadar düşünüyorsanız Ancak, http://rabaix.net/en/articles/2008/03/13/using-soap-php-with-ntlm-authentication de NTLM soap sınıfları bakmak isteyebilirsiniz. Bu doğal PHP SOAP yapmanız izin vermez SOAP aramaları yapmak için Active Directory karşı kimlik doğrulaması için izin verecektir. MS CRM bağlanmak için aynı yöntemi kullanan başka iyi bir kaynaktır http://www.reutone.com/heb/articles_internet.php?instance_id=62&actions=show&id=521.

Altında örnekler http://www.troywolf.com/articles/php/exchange_webdav_examples.php Exchange 2003 değil 2007 yılı için vardır.