Jump to content

PHP + MAPI COM object + IIS + NT Domain fun


Fidsah

Recommended Posts

I'm currently working on an application that will tie into the "MAPI.session" COM object so that the application can send an email using our Exchange server. I have two development machines I've been testing the code on. One is Windows XP Pro, running Apache, and the other is Windows 2003, running IIS 6.

 

I don't have any issues with the Apache box, firstly because it's running Apache, and secondly, because it's on our corporate domain.

 

I, however, run into issues on the IIS box, because it's not on the domain (and because it's running IIS, but that's a different story). Due to our security policy, it won't be allowed domain membership by our IS department, either.

 

The error I'm running into is:

 

Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Collaboration Data Objects<br/><b>Description:</b> [Collaboration Data Objects - [MAPI_E_LOGON_FAILED(80040111)]]' in c:\path\to\file.php:LINE Stack trace: #0 c:\path\to\file.php(LINE): com->Logon('MAPIProfile', true) #1 {main} thrown in c:\path\to\file.php on line LINE

 

I'm pretty sure this is being caused by the 2k3 box not being able to send the correct authentication to the Exchange machine in order to log into the MAPI profile. Since this is IIS, I had a bit of fun getting that MAPI profile configured for the IWAM user, but I know it's set properly.

 

What I've been thinking the solution should be along the lines of is providing the script with my NT authentication, in the form of DOMAIN\USERNAME and the password, and having it authenticate to the Exchange server, much like how when I open Outlook on the 2k3 box, I have to provide that information anyways.

 

This cross domain authentication isn't expected to be an issue when this application is finished, as it's expected to be hosted on the domain, but in the mean time, I need to solve some sort of method for getting the off domain machine talking properly to the Exchange server, and unfortunately I'm stuck using this off domain machine for the testing and development of the IIS compatibility.

 

Basically, the communication path is something like:

 

client(domain) -> IIS (off domain) -> Exchange (domain) -> client(domain)

 

I'm not familiar with using PHP to tie into domain authentication or MAPI, and since it works on the Apache box, I'm pretty sure that the final code will be good to go when it's finished, but it's expected to be running on IIS 6 at that point, and I need to continue to work out some of the differences between what Apache will let me get away with and what IIS refuses to do.

 

Thanks

 

Link to comment
Share on other sites

I have no idea why this got moved to a WAMP section. This topic has nothing to do with WAMP or PHP Installation.

 

This topic is about supplying prese domain authentication to an Exchange server on a domain when using a mapi.session COM object from an IIS 6.0 server on a workgroup.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.