Hello everyone,

I have an email app that allows a user to download attachments.  I am running into a 
problem that after the attachment completes a download, the CDOSession object throws a 
[MAPI_E_NOT_INITIALIZED(80040605)]]  error.  Eventually the CDOSession will come back 
to life and allow me to access components again.  Anyone have simular experiences?  

Machine has CDO 1.21, CDOSession is created, but it will not let me do anything for 
the user.  Strange thing is I can logoff and login as another user and get 
functionality back. But, when I try to log back in as the user that downloaded the 
attachment, I still get the [MAPI_E_NOT_INITIALIZED(80040605)]]  error.  Even stranger 
is the fact that the user eventually comes back to life...
-rick 
([EMAIL PROTECTED])

Here is the code that performs the download:
Sub DownloadAttachment(ByVal strPath, ByVal strFileName)
        'Get files to download to user's computer
        Dim oActiveFile
        Set oActiveFile = Server.CreateObject("ActiveFile.File")
        
        oActiveFile.Name = strPath & "\" & strFileName 
        Response.Clear
        Response.AddHeader "Content-Disposition", "inline; filename=" & strFileName
        oActiveFile.Download "application/octet-stream",,false,true
        
        'Clear Memory
        set oActiveFile = nothing
End Sub

Dim strMessageId
Dim lngAttachmentID


'Get Message and attachment ID
strMessageId    = cstr(Request.QueryString("ID"))
lngAttachmentID = clng(Request.QueryString("Item"))

'We do not want to cache files if the temp directory doesn't exist      
if Application("strAttachments") then
        'Create the temp directory
        Dim strPath
        strPath = GetDirectory(strExchangeServer, strMailbox, lngRandomNumber)
        'Get the message that has the attachments
        Try()
                Dim oMessage
                set oMessage = Session("CDOSession").GetMessage(strMessageId)
                'Get the attachments for the message
                Dim oAttachments
                set oAttachments = oMessage.Attachments
        
                'Get the attachment
                Dim oAttachment
                set oAttachment = oAttachments.Item(lngAttachmentID)
        
                dim strFileName
                strFileName = oAttachment.Name
                'Write the attachment to the cache
                oAttachment.WriteToFile(strPath & "\" & strFileName)
        if CatchAll then
                ReportError oLocal.GetString(414) 'Unable to download attachment.
        end if
        
        'Change add one more parameter for strTempID
        call DownloadAttachment(strPath, strFileName)
        
        'cleanup and delete the temp folder
        dim oFileSystemObject
        set oFileSystemObject = Server.CreateObject("Scripting.FileSystemObject")
        call oFileSystemObject.DeleteFolder(Application("strCachingDirectory") & "\" & 
strExchangeName & "\" & strMailbox, true)
        Set oFileSystemObject = nothing
end if
_________________________________________________________________
List posting FAQ:       http://www.swinc.com/resource/exch_faq.htm
Archives:               http://www.swynk.com/sitesearch/search.asp
To unsubscribe:         mailto:[EMAIL PROTECTED]
Exchange List admin:    [EMAIL PROTECTED]

Reply via email to