Nejlepší způsob, jak přistupovat k Exchange pomocí PHP?

hlasů
49

Píši aplikaci CMS v PHP a jedním z požadavků je, že musí být schopna komunikovat s Exchange serverem zákazníka. Napsal jsem tuto funkci několikrát před a vždy používá WebDAV , jak to udělat, ale teď jsem se opíral od toho.

I bude spuštěn web na serveru IIS nebo Apache (bez preference) na serveru Windows 2008. několik věcí budu muset dělat zahrnovat přidávání kontaktů do adresáře daného uživatele je, odesílání e-mailů jako daného uživatele a běží zprávy o kontaktech pro cestovní uživatel.

To vše je velmi snadné dělat s WebDAV, ale jestli existuje lepší způsob, který nevyžaduje žádnou funkci, která může být zastaralý v dohledné době.

Nějaké nápady?

Aktualizace:

Justin, mám rád myšlenku pomocí COM objektů, jen jsem si starosti o udržení 3. výrobek, aby všechno fungovalo ...

John, mohu psát webové služby v jazyce C # propojení s pro tyto funkce a přistupovat k němu s mým PHP aplikací, ale je to také trochu z cesty.

Zatím nejsem 100% přesvědčen o tom, že jeden z nich je lepší než WebDAV ...

Může mi někdo ukázat, kde jsem hloupá?

Položena 03/08/2008 v 01:03
zdroj uživatelem
V jiných jazycích...                            


9 odpovědí

hlasů
21

Osobně jsem nepoužil PHP, jak to udělat, ale mají zkušenosti s pomocí C #, aby se dosáhlo totéž.

API Outlook je způsob automatizace aplikace Outlook namísto připojení k Exchange přímo. Již dříve jsem vzít tento přístup v C # aplikace, a to funguje, i když může být kočárek.

Chcete-li se připojit přímo k serveru Exchange, budete muset výzkum rozšířené MAPI.

V minulosti jsem použil tento souhrnný MAPIEx: Extended MAPI píce .

Jedná se o C # projekt, ale věřím, že můžete použít nějaký kód .NET na serveru PHP5 Windows. Alternativně má C ++ jádro DLL, které se mohou stát se mohl použít. Zjistil jsem, že je velmi dobrá a existuje několik dobrých příkladů aplikace.

Aktualizace:

Omlouváme se za zpoždění není aktuální způsob, jak udržet přehled o pracovních míst dosud.

Souhlasím přidání další vrstvy na vaší aplikaci a spoléhat se na kódu 3. stran může být děsivé (a právem).

Dnes jsem si přečetl další zajímavý příspěvek označené jako MAPI, který je na jiný objekt. Klíčovou věcí zde však je, že to souvisí s tímto důležitým článkem MS . I musel být vědom otázek do této chvíle používat spravovaný kód na rozhraní MAPI, i když C ++ kód v komponentě by měl být ovlivněn touto chybou, protože je neřízený.

Tato položka blogu také navrhne další způsoby připojení k MAPI / Exchange serveru. V tomto případě v důsledku těchto nových skutečností http://us3.php.net/imap může být odpověď, jak navrhuje jiný uživatel.

Odpovězeno 03/08/2008 v 08:50
zdroj uživatelem

hlasů
13

Je váš zákazník s použitím Exchange 2007? Pokud ano, tak bych se podívat na webové služby systému Exchange . Pokud tomu tak není, tak chlupatý, jak to může být, myslím, že WebDAV je vaše nejlepší sázka.

Osobně nemám rád používat objekt trasu Outlook.Application KOM, as jeho bezpečnostní výzvy ( „Žádost se pokouší o přístup k vašim kontaktům. Povolit?“, Atd.) Může způsobit problémy na serveru. Také si myslím, že by bylo obtížné dosáhnout své zosobnění podobné úkoly pomocí aplikace Outlook, jako například odesílání pošty jako daný uživatel.

Odpovězeno 05/08/2008 v 03:35
zdroj uživatelem

hlasů
8

Nemohu doporučit Dmitrije Streblechenko je Redemption Data Objects knihovna vysoce dost. Je to součást COM, která poskytuje rozumný API pro Extended MAPI a je radost používat. Brankové tyče Exchange API přesunout z jednoho vydání k druhému: „Použití M: řídit! Ne, použijte WebDAV! Ne, pouze EXOLEDB! ... No, použijte webové služby!“S jedinou konstantou je stará dobrá MAPI.

Odpovězeno 01/09/2008 v 21:33
zdroj uživatelem

hlasů
7

I vydali open-source Licence MIT knihovny, která vám umožní dělat některé základní operace v PHP pomocí Exchange Web Services.

Exchange webové služby pro PHP

Testoval jsem to jen na Linuxu, ale já nevidím žádný důvod, proč by to fungovat na instalaci operačního systému Windows PHP stejně.

Odpovězeno 04/05/2011 v 14:47
zdroj uživatelem

hlasů
6

Nejsem PHP dev ale Google říká, že PHP 5+ Můžete konkretizovat součásti COM. Pokud můžete nainstalovat Outlook na poli můžete napsat PHP webové služby kolem součást COM zvládnout požadavky, které potřebujete.

$outlook = COM("Outlook.Application")

referance API Outlook

Odpovězeno 03/08/2008 v 04:07
zdroj uživatelem

hlasů
5

To Zarafa PHP MAPI rozšíření vypadá jako by to mohlo fungovat.

Odpovězeno 09/05/2012 v 19:47
zdroj uživatelem

hlasů
4

To bych se do IMAP

IMAP, POP3 a NNTP

Odpovězeno 04/08/2008 v 18:00
zdroj uživatelem

hlasů
2

Doporučil bych používat PHP webové služby Exchange nebo krátká php-EWS.

Slušné množství dokumentace v rámci wiki , pomohla mi hodně.

Odpovězeno 01/02/2013 v 14:20
zdroj uživatelem

hlasů
0

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

To bylo naposledy aktualizováno před 3 měsíci, takže je udržován

Odpovězeno 09/10/2018 v 16:31
zdroj uživatelem

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