PHP kullanarak Exchange erişmek için en iyi yolu?

8 Cevap php

PHP CMS uygulama yazıyorum ve gereksinimlerinden biri müşterinin Exchange sunucusu ile arayüzü mümkün olmasıdır. Ben daha önce birkaç kez bu işlevsellik kadar yazdık ve her zaman WebDAV bunu yapmak için kullanmış, ama şimdi ben onu uzaktan eğilerek ediyorum.

IIS veya Apache, Windows server 2008 (tercih yok) üzerinde site çalıştıran olacak. Ben, belirli bir kullanıcının adres defterindeki kişileri ekleyerek belirli bir kullanıcı olarak e-postalar göndermek ve bir için temaslara raporlar çalışan bulunmaktadır yapmanız gerekir birkaç şey kullanıcı.

Tüm bu WebDAV ile yapmak oldukça kolay, ama her zaman yakında kalktı olması muhtemeldir herhangi bir işlevsellik gerektirmeyen daha iyi bir yolu olup olmadığını.

Herhangi bir fikir?

Update:

Justin, com nesneleri kullanma fikrini seviyorum, ben sadece her şeyin çalışması için 3. bir ürün bakımı hakkında endişelenmenize ...

John, bu işlevler için arayüz ve benim PHP uygulaması ile erişmek için C # bir web hizmeti yazabilirsiniz, ama aynı zamanda dışına biraz öyle.

Şimdiye kadar, ben bu iki WebDAV daha iyi olduğunu ikna% 100 değilim ... Ben saçmalıyorum nerede Kimse bana gösterebilir misin?

8 Cevap

Ben bunu ancak aynı şeyi elde etmek için C # kullanarak deneyime sahip PHP kullanmamışlardır.

Outlook API Outlook otomatikleştirme yerine doğrudan Exchange bağlayan bir yoldur. Ben daha önce bir C # uygulaması bu yaklaşımı almış ve arabası olmasına rağmen çalışır.

Eğer doğrudan Exchange sunucusuna bağlanmak istiyorsanız genişletilmiş MAPI araştırma gerekecektir.

Geçmişte bu sarıcı MAPIEx: Extended MAPI Wrapper kullanılır.

Bu bir C # proje ama ben bir PHP5 Windows sunucu üzerinde bazı. NET kodu kullanabilirsiniz inanıyorum. Alternatif olarak bunu kullanmak için mümkün olabilir C + + çekirdek DLL vardır. Ben çok iyi bulduk ve bazı iyi örnek uygulamaları vardır.

Update:

Gecikme henüz mesajların takip etmek için hiçbir geçerli yolu için üzgünüm.

Ben uygulama için daha fazla katman ekleme ve 3. taraf kod güvenerek korkutucu olabilir katılıyorum (çok haklı ve.)

Bugün başka bir interesting post farklı bir konuda olduğu MAPI'nin olarak etiketlenmiş okuyun. Burada önemli bir şey olsa o this important MS article ile bağlantılı olmasıdır. Ben yönetilmeyen olarak bileşeni C + + kod bu hata etkilenmeyen olmalıdır rağmen MAPI arayüz yönetilen kodu kullanarak şimdiye kadar konulardan habersiz olmuştur.

Bu blog girişi de MAPI / Exchange sunucusuna bağlanmak için başka yollar önerir. Diğer kullanıcı tarafından önerilen bu durumda nedeniyle bu yeni gerçeklere http://us3.php.net/imap cevap olabilir.

Müşteri Exchange 2007 kullanıyor? Eğer öyleyse, ben Exchange Web Services bakmak olurdu. Değilse, bu olabilir gibi tüylü gibi, ben WebDAV en iyi bahis olduğunu düşünüyorum.

Şahsen ben onun güvenlik istemleri gibi, Outlook.Application COM nesnesi güzergahını kullanarak sevmiyorum ("Bir uygulama kişileri erişmeye çalışıyor., Bu izin verilsin mi?", Vb) bir sunucu üzerinde sorunlara neden olabilir. Ben de böyle belirli bir kullanıcı olarak posta göndermek gibi, Outlook'u kullanarak bürünme gibi görevleri yerine getirmek için zor olacağını düşünüyorum.

Ben Dmitry Streblechenko en Redemption Data Objects kütüphane son derece yeterli tavsiye edemez. Bu genişletilmiş MAPI için aklı başında bir API sağlar ve kullanmak için bir sevinç, bir COM bileşeni bulunuyor. Döviz API goalposts sonraki bir sürümü diğerine: "M kullanın: drive! Hayır, WebDAV kullanabilirsiniz! Hayır, ExOLEDB kullanın! ... Hayır, Web Services kullanın! "Sadece sabit iyi eski MAPI olmak.

Ben bir PHP dev değilim ama Google PHP 5 + COM bileşenleri örneğini söylüyor. Bir kutuya Outlook'u yüklemeyi eğer ihtiyacınız istekleri işlemek için COM bileşeni etrafında bir PHP web hizmeti yazabilirsiniz.

$outlook = COM("Outlook.Application")

Outlook API referance

Ben Exchange Web Hizmetleri kullanarak PHP bazı temel işlemleri yapmak için izin veren bir açık kaynak MIT lisanslı kütüphanesi yayımlandı.

Exchange Web Services for PHP

Ben sadece Linux üzerinde test ettim ama o kadar iyi bir PHP Windows kurulumu işe yaramaz herhangi bir neden görmüyorum.

Işe yarayabilir gibi Zafara PHP MAPI uzantısı görünüyor.

Ben IMAP içine bakmak istiyorum

IMAP, POP3 and NNTP

Ben kullanıyorum tavsiye ederim "PHP Exchange Web Services " or short php-ews.

wiki altında dokümantasyon, adil bir miktar bana çok yardımcı oldu.