Ik ben bezig met het uitlezen van een exchange postbus. Ik doet dit in ASP met behulp van CDO. Nu kan ik mijn eigen postbus uitlezen door in IIS bij directory security (van het betreffende asp script) mijn eigen naam (waar dus ook de postbus aan gekoppeld is) en wachtwoord op te geven.
Ik wil nu een postbus van iemand anders uitlezen, maar ik wil hiervoor mijn eigen account gebruiken (dus bij directory security mijn eigen naam + wachtwoord blijven gebruiken). Bij deze account heb ik mijzelf rechten gegeven tot alle mappen, en als ik op de server inlog met mijn eigen naam, en ik browse naar de N:\ schijf die exchange altijd aanmaakt kan ik dus ook door de folders van die andere postbus bladeren.
Nu het probleem: zodra ik dit met ASP probeer (dus het openen van een andere mailbox dan die van mijzelf met mijn naam en wachtwoord bij directory security van IIS opgegeven) dan krijg ik de volgende foutmelding:
Die foutmelding slaat op de volgende code:
Waarbij "Set FolderObject = SessionObject.GetDefaultFolder(1)" de betreffende regel is.
Het gaat hier om een Windows 2000 server SP3 met Exchange server 2000 SP3. Het opvallende is dat dit script altijd gewerkt heeft, totdat SP3 geinstalleerd werd. Microsoft heeft in SP3 de beveiliging 'verbeterd' ook met betrekking tot CDO. Microsoft heeft hier echter maar een document over (gaat over het mailen met CDO) de stappen die hierin staan heb ik al uitgevoerd.
Let op: als ik bij directory security de naam en wachtwoord van de eigenaar van de andere postbus opgeef, krijg ik wel toegang, maar dit wil ik dus niet, dit aangezien ik meerdere postbussen met een account wil kunnen benaderen.
Ik wil nu een postbus van iemand anders uitlezen, maar ik wil hiervoor mijn eigen account gebruiken (dus bij directory security mijn eigen naam + wachtwoord blijven gebruiken). Bij deze account heb ik mijzelf rechten gegeven tot alle mappen, en als ik op de server inlog met mijn eigen naam, en ik browse naar de N:\ schijf die exchange altijd aanmaakt kan ik dus ook door de folders van die andere postbus bladeren.
Nu het probleem: zodra ik dit met ASP probeer (dus het openen van een andere mailbox dan die van mijzelf met mijn naam en wachtwoord bij directory security van IIS opgegeven) dan krijg ik de volgende foutmelding:
code:
1
2
3
4
5
6
| Collaboration Data Objects error '00000505' U bent niet gemachtigd om u aan te melden. [Informatiearchief van Microsoft Exchange Server - [MAPI_E_FAILONEPROVIDER(8004011D)]] /Functies.asp, line 1469 |
Die foutmelding slaat op de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| 'Aanmelden bij exchange
Dim SessionObject : Set SessionObject = Server.CreateObject("MAPI.Session")
SessionObject.Logon "", "", False, True, 0, False, strProfileInfo
'Objecten aanmaken
Set FolderObject = SessionObject.GetDefaultFolder(1)
Set MessageObject = FolderObject.Messages
Set EmailObject = MessageObject.GetFirst
'Emailtjes doorlopen
While ((Not (EmailObject Is Nothing)) AND LoopCounter<500)
LoopCounter = LoopCounter + 1
Subject = EmailObject.subject
Text = EmailObject.text
Sender = EmailObject.Sender.Address
AdresBoeknaam = EmailObject.Sender
Set EmailObject = MessageObject.GetNext
Wend |
Waarbij "Set FolderObject = SessionObject.GetDefaultFolder(1)" de betreffende regel is.
Het gaat hier om een Windows 2000 server SP3 met Exchange server 2000 SP3. Het opvallende is dat dit script altijd gewerkt heeft, totdat SP3 geinstalleerd werd. Microsoft heeft in SP3 de beveiliging 'verbeterd' ook met betrekking tot CDO. Microsoft heeft hier echter maar een document over (gaat over het mailen met CDO) de stappen die hierin staan heb ik al uitgevoerd.
Let op: als ik bij directory security de naam en wachtwoord van de eigenaar van de andere postbus opgeef, krijg ik wel toegang, maar dit wil ik dus niet, dit aangezien ik meerdere postbussen met een account wil kunnen benaderen.
I laugh in the face of danger ... ... then I hide and wait until it goes away -