\r\n\r\n
Go Back  Xtreme Visual Basic Talk > Other Languages > Web Programming > ASP + Exchange + IIS = Grr


\r\n \r\n
 
 
Thread Tools Display Modes

\r\n\r\n\r\n
Here\'s my problem.
\r\n
\r\nI have been working on a trouble ticket solution to keep things tidy around here.
\r\n
\r\nfound zen helpdesk, and have been editing the mess out of it to fit our needs.
\r\n
\r\n(asp not asp.net)
\r\n
\r\nso far, so good.
\r\n
\r\nI installed IIS on my XP pro machine and all was right with the world.
\r\n
\r\nI can send email from the thing locally on my machine to our exchange server.
\r\n
\r\nbut I cant host it here after development. so I moved what I had so far to a server 2003.
\r\n
\r\nNow I get this error when it tries to login to the exhcange store:
\r\n
\r\n
\r\n
Quote:
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Collaboration Data Objects error \'000043ed\'
\r\n
\r\n[Collaboration Data Objects - [E_FAIL(80004005)]]
\r\n
\r\n/thankyou.asp, line 112 \r\n \r\n
\r\n
Now on my box, this wasnt a problem. I think because I was logged into the machine, and Authenticated properly, so when I went to access my information store on exchange, it said "sure anomaly, your credentials are good, here you go"
\r\n
\r\nbut since I\'ve moved it to a 3rd server, I have to somehow pass along my login info from my machine, to the server, then pass that to exchange.
\r\n
\r\nLine 112 is like this:
\r\n
\r\n
Code:
\r\n
cStrServer = "Exchange.My-Domain.com"\r\ncStrMailbox = "anomaly@my-domain.com"\r\n\r\n bstrProfileInfo = cStrServer & vbLf & cStrMailbox \r\n \'create session\r\n Set objSess = Server.CreateObject("mapi.session")\r\n objSess.Logon "", "", False, True, 0, True, bstrProfileInfo \'line 112
\r\n

\r\nI have the SMTP server running on the webserver, and the security is setup to use Integrated Windows Authentication. No anonymous logins are allowed because only people logged into the domain need use the system anyways, and I use the Request.ServerVariables("LOGON_USER") to tell who the useris.
\r\nI strip it out a little because it displays like this My-Domain\\anomaly
\r\n
\r\ndo I need to pass this info as is, without stripping anything off of it to gain access to the exchange profile for that user? if Joe is logged in on his computer, and accesses the asp site, I want it to take his credentials and send that to exchange so Joe can send an email to our helpdesk mailbox.
\r\n
\r\nI strongly feel its a authentication issue as it works on my machine for me while im logged in, and when a co-worker accesses my box http://MyComputer/Default.asp
\r\n
\r\nit poped up and asked him for his credentials, which he supplied and it let him in. looked like My-Domain\\JOE.
\r\n
\r\nWhat i would prefer is NO popup asking for credentials, as long as the user accessing the site has an account in the domain, it should just accept them readily, and pass on any credentials to the asp server, and from there to the exchange server. I only need to send one email from that user in the whole life of the ticket. the rest will be sent back from the helpdesk account telling them of updates to the ticket.
\r\n
\r\nI am obviously using cdo and mapi to try this out. SMTP is running on the machine the asp site is on. I registered the CDO.DLL from my I386 folder on the server (dont know if that is necissary or advisable but it wouldnt work this far without it, though a better version of the file might exist elsewhere.)
\r\n
\r\nAlso, the first two fields there are for the profile and password for said user on the exhange server (i believe) but I dont know how to use it, and I dont really want them to send thier domain password clear text anyways.
\r\n
\r\n
Code:
\r\n
objSess.Logon "", "", False, True, 0, True, bstrProfileInfo \'line 112
\r\n

\r\n I hear tell about a way to use a challenge response with IIS but where it send the hash instead, but I think that option is for an older version of IIS than what comes installed on 2003.
\r\n
\r\n if anyone has any information or sugesstions, please advise.
\r\n
\r\nIf there are other methods than CDO that can achieve the same results, I will try them as well.
\r\n
\r\nif ASP.NET has something extra to help with what I am trying to do, I will rewrite the entire thing. I just need this to work and its driving me crazy.
\r\n \r\n\r\n
\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n __________________
\r\n So let it be written. So let it be run.\r\n
\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n Reply With Quote\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n'; pd[1185538] = '\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n \r\n
\r\n
\r\n  \r\n #2  \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Old\r\n \r\n 10-06-2006, 12:20 PM\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
wayneph\'s Avatar\r\n\r\n
\r\n \r\n wayneph\r\n wayneph is offline\r\n\r\n\r\n
Prev Previous Post   Next Post Next
  #1  
Old 10-06-2006, 08:48 AM
anomaly's Avatar
anomaly anomaly is offline
Contributor
 
Join Date: Sep 2001
Location: Florida
Posts: 517
Unhappy ASP + Exchange + IIS = Grr


Here's my problem.

I have been working on a trouble ticket solution to keep things tidy around here.

found zen helpdesk, and have been editing the mess out of it to fit our needs.

(asp not asp.net)

so far, so good.

I installed IIS on my XP pro machine and all was right with the world.

I can send email from the thing locally on my machine to our exchange server.

but I cant host it here after development. so I moved what I had so far to a server 2003.

Now I get this error when it tries to login to the exhcange store:

Quote:
Collaboration Data Objects error '000043ed'

[Collaboration Data Objects - [E_FAIL(80004005)]]

/thankyou.asp, line 112
Now on my box, this wasnt a problem. I think because I was logged into the machine, and Authenticated properly, so when I went to access my information store on exchange, it said "sure anomaly, your credentials are good, here you go"

but since I've moved it to a 3rd server, I have to somehow pass along my login info from my machine, to the server, then pass that to exchange.

Line 112 is like this:
Code:
cStrServer = "Exchange.My-Domain.com" cStrMailbox = "anomaly@my-domain.com" bstrProfileInfo = cStrServer & vbLf & cStrMailbox 'create session Set objSess = Server.CreateObject("mapi.session") objSess.Logon "", "", False, True, 0, True, bstrProfileInfo 'line 112

I have the SMTP server running on the webserver, and the security is setup to use Integrated Windows Authentication. No anonymous logins are allowed because only people logged into the domain need use the system anyways, and I use the Request.ServerVariables("LOGON_USER") to tell who the useris.
I strip it out a little because it displays like this My-Domain\anomaly

do I need to pass this info as is, without stripping anything off of it to gain access to the exchange profile for that user? if Joe is logged in on his computer, and accesses the asp site, I want it to take his credentials and send that to exchange so Joe can send an email to our helpdesk mailbox.

I strongly feel its a authentication issue as it works on my machine for me while im logged in, and when a co-worker accesses my box http://MyComputer/Default.asp

it poped up and asked him for his credentials, which he supplied and it let him in. looked like My-Domain\JOE.

What i would prefer is NO popup asking for credentials, as long as the user accessing the site has an account in the domain, it should just accept them readily, and pass on any credentials to the asp server, and from there to the exchange server. I only need to send one email from that user in the whole life of the ticket. the rest will be sent back from the helpdesk account telling them of updates to the ticket.

I am obviously using cdo and mapi to try this out. SMTP is running on the machine the asp site is on. I registered the CDO.DLL from my I386 folder on the server (dont know if that is necissary or advisable but it wouldnt work this far without it, though a better version of the file might exist elsewhere.)

Also, the first two fields there are for the profile and password for said user on the exhange server (i believe) but I dont know how to use it, and I dont really want them to send thier domain password clear text anyways.
Code:
objSess.Logon "", "", False, True, 0, True, bstrProfileInfo 'line 112

I hear tell about a way to use a challenge response with IIS but where it send the hash instead, but I think that option is for an older version of IIS than what comes installed on 2003.

if anyone has any information or sugesstions, please advise.

If there are other methods than CDO that can achieve the same results, I will try them as well.

if ASP.NET has something extra to help with what I am trying to do, I will rewrite the entire thing. I just need this to work and its driving me crazy.
__________________
So let it be written. So let it be run.
Reply With Quote
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Forum Jump

Advertisement:





Free Publications
The ASP.NET 2.0 Anthology
101 Essential Tips, Tricks & Hacks - Free 156 Page Preview. Learn the most practical features and best approaches for ASP.NET.
subscribe
Programmers Heaven C# School Book -Free 338 Page eBook
The Programmers Heaven C# School book covers the .NET framework and the C# language.
subscribe
Build Your Own ASP.NET 3.5 Web Site Using C# & VB, 3rd Edition - Free 219 Page Preview!
This comprehensive step-by-step guide will help get your database-driven ASP.NET web site up and running in no time..
subscribe
 
 
-->