Best way to access Exchange using PHP?

后端 未结 9 1165
执笔经年
执笔经年 2020-12-01 00:08

I\'m writing a CMS application in PHP and one of the requirements is that it must be able to interface with the customer\'s Exchange server. I\'ve written up this functiona

相关标签:
9条回答
  • 2020-12-01 00:49

    Update as of 2020:
    Over a decade since this question and things have moved on. Microsft now has a Rest API that will allow you to easily access this data.


    Original Answer

    I have not used PHP to do this but have experience in using C# to achieve the same thing.

    The Outlook API is a way of automating Outlook rather than connecting to Exchange directly. I have previously taken this approach in a C# application and it does work although can be buggy.

    If you wish to connect directly to the Exchange server you will need to research extended MAPI.

    In the past I used this wrapper MAPIEx: Extended MAPI Wrapper.

    It is a C# project but I believe you can use some .NET code on a PHP5 Windows server. Alternatively it has a C++ core DLL that you may be a able to use. I have found it to be very good and there are some good example applications.


    Sorry for the delay no current way to keep track of posts yet.

    I do agree adding more layer on to your application and relying on 3rd party code can be scary (and rightfully so.)

    Today I read another interesting post tagged up as MAPI that is on a different subject. The key thing here though is that it has linked to this important MS article. I have been unaware of the issues until now on using managed code to interface to MAPI although the C++ code in the component should be unaffected by this error as it is unmanaged.

    This blog entry also suggests other ways to connect to MAPI/Exchange server. In this case due to these new facts http://us3.php.net/imap may be the answer as suggested by the other user.

    0 讨论(0)
  • 2020-12-01 00:49

    I can't recommend Dmitry Streblechenko's Redemption Data Objects library highly enough. It's a COM component that provides a sane API to Extended MAPI and is a joy to use. The Exchange API goalposts move from one release to the next: “Use the M: drive! No, use WebDAV! No, use ExOLEDB!… No, use Web Services!” with the only constant being good old MAPI.

    0 讨论(0)
  • 2020-12-01 00:49

    I'm not a PHP dev but Google says that PHP 5+ can instantiate COM components. If you can install Outlook on a box you could write a PHP web service around the COM component to handle the requests you need.

    $outlook = COM("Outlook.Application")
    

    Outlook API referance

    0 讨论(0)
提交回复
热议问题