PRB: Run-Time Error -2147467259 with MoveTo Method

ID: Q191816


The information in this article applies to:
  • Collaboration Data Objects (CDO), versions 1.1, 1.2, 1.21


SYMPTOMS

When using the MoveTo method of the message object to move a message from one folder to another folder within a mailbox, you may receive the following error:

Run-time error '-2147467259 (80004005)':
[Collaboration Data Objects - [E_FAIL(80004005)]]


CAUSE

It is probable that the sending limit property has been set on the mailbox and there are enough messages in the mailbox to meet the limit criteria.


RESOLUTION

The sending limit can be set or checked using the following:

  1. Using the Exchange Administrator get the properties for the mailbox.


  2. Click the Limits tab.


  3. Go to the settings for the "Information store storage limits".


  4. Change the "Prohibit send(K)" and "Prohibit send and receive(K)" settings to a higher value.

    -or-


Delete messages from the mailbox so the limit is not met, and empty the deleted items folder.


STATUS

This behavior is by design.


MORE INFORMATION

The MoveTo Method relocates the message object to another folder specified in the call. All of the properties that are set on the message are moved during this process. Once the Message.MoveTo method is called, the message is no longer available in the original location, only the new location.

Sample Syntax


   Set objMovedMessage = objMessage.MoveTo(folderID [, storeID ] ) 
where
  • objMessage: This Message object.


  • folderID: The unique identifier of the destination Folder object in which this message is to appear.


  • storeID: The unique identifier of the InfoStore object in which the message is to appear, if different from this current InfoStore.


Steps to Reproduce Behavior

  1. Set the sending limit on a mailbox to a low value (for example, 100k)


  2. Run the following Visual Basic code sample that uses the MoveTo method to try and move a message to another folder in the mailbox:
    
          'The following Visual Basic Code sample relies on a reference to the
          'Collaboration Data Objects (CDO) Library. If you do not have this
          'library, please see the following article in the Microsoft Knowledge
          'Base:
          '
          '   ARTICLE-ID: Q171440
          '   TITLE     : Where to Acquire Collaboration Data Objects Libraries
          '
          Sub main()
              Dim objSess As MAPI.Session
              Dim objDelFolderID As String
              Dim objMsg As Message
              Dim objMovedMsg As Message
    
              Set objSess = CreateObject("mapi.session")
              objSess.Logon "Tiny Exchange Only Mailbox"
    
              'Get the ID of the DeletedItems Folder.
              objDelFolderID = _
                 objSess.GetDefaultFolder(CdoDefaultFolderDeletedItems).ID
    
              Set objMsg = objSess.Inbox.Messages.GetFirst()
    
              'The following line yields an error if the store is already full.
              Set objMovedMsg = objMsg.MoveTo(objDelFolderID)
    
              objMovedMsg = Nothing
              objMsg = Nothing
              objDelFolderID = Null
    
              objSess.Logoff
              objSess = Nothing
          End Sub 


RESULT: The preceding error is returned on the line that executes the .MoveTo method.

Additional query words:

Keywords : kbole kbCDO kbCDO110 kbCDO120 kbCDO121 kbMsg
Version : WINDOWS:1.1,1.2,1.21
Platform : WINDOWS
Issue type : kbprb


Last Reviewed: November 5, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.