Jag försöker mig på att lista lite "tasks" som jag har i en publik folder på en exchangeserver. Vad jag har förstått skall det gå att göra med CDO?! Och för att kunna göra detta måste jag kunna skapa en MAPI session?! (rätta mig om jag har fel)
Jag försöker köra följande kod:
<%
'On Error Resume Next
Set objSession = Server.CreateObject("MAPI.Session")
If Err.Number = 0 Then
Response.Write("Session Skapad!")
Else
Response.Write("Det blev fel, Session skapades inte!")
End If
Set objSession = Nothing
%>
Jag får detta felmeddelande:
Server object, ASP 0177 (0x800401F3)
Invalid ProgID. For additional information specific to this message please visit the Microsoft Online Support site located at: http://www.microsoft.com/contentredirect.asp.
/exchangelogon.asp, line 5
Måste jag köra scriptet på samma server som exchangeservern ligger på? Jag vill ju köra den på en annan server! Går detta?
Snälla någon hjälp mig en bit på vägen, jag är totalt fast i detta problem! :)
Måste jag köra scriptet på samma server som exchangeservern ligger på?
Nej, det måste du inte. Det borde tex räcka rätt bra om du installerar bara Outlook-klienten från Office-skivan på servern. Eventuellt behöver du inte ens det. Kolla under set-upen om det finns möjlighet att bara installera själva komponenterna (minns inte exakt hur det ser ut).
På webbservern? Isåf vet jag inte .. Kolla vad IUSR_DATORNAMN har för rättigheter på ..\system32\cdo.dll. Leta också i registret efter nycklar som heter MAPI.Session.
Men det måste ju vara något strul på min dator (som jag använder som server) eftersom jag inte kan skapa MAPI sessionen.. den har ju i sig ingen koppling till någon exchange server... Jag skapar ju bara objektet:
Set objSession = Server.CreateObject("MAPI.Session")
Ja, uppenbarligen. Men du svarar ju inte på några frågor. Har du en fil som heter ..\system32\cdo.dll? Har du nån registernyckel som heter MAPI.Session?
Gör ett enkelt experiment:
Kör en VBS-fil som administrator med innehållet:
Set objSession = CreateObject("MAPI.Session")
.. om det funkar så är det ett rättighetsproblem. Om det inte funkar så är inte komponenten korrekt registrerad. Sätt i Office-skivan och kolla runt bland det som inte är installerat och kolla om det är något som "låter rätt" under Outlook-prylarna.
Jag tror inte den går att ladda ner separat. Vad jag förstår så ska den ingå i tex Outlook XP-setupen och hamna under C:\program files\common files\system\mapi\1033, i tidigare versioner har den hamnat i system32. (Källa).
Det här Office 11 du kör, vad är det? En beta för senaste Office-paketet? Om det är utvecklingsmaskin kanske du kunde prova att köra in en lite äldre release-version?
En annan möjlighet:
Kolla på jobbets Exchange-skiva. Nån version av cdo.dll borde följa med under nåt som heter nåt i stil med "Client access tools" eller liknande, tycker man.
En sista möjlihet (på egen risk):
"Låna" cdo.dll från Exchange-servern och regga den på din egen maskin med regsvr32. Kanske funkar. Kanske inte. Det märker du ju.