Platform SDK: Exchange 2000 Server

Forwarding a Meeting Request

[This is preliminary documentation and subject to change.]

Forwarding a meeting request is similar to forwarding any message. If an attendee forwards a meeting request to someone else, and that person responds to the meeting request, the response is sent to the meeting organizer.

For information on how to invite new attendees to a meeting that is already saved to your calendar, see Inviting Attendees to a Meeting in the Calendar Folder.

The basic process for forwarding a meeting request is as follows:

  1. Open the meeting request in your inbox using a Calendar Message object as shown in Processing a Calendar Message.
  2. Create a new Message object from the Calendar Message object using the IMessage.Forward method.
  3. Address the new message and add any desired text.
  4. Call the IMessage.Send method to send the new message.

The following code example gets calendar messages with the subject "Documentation Review Meeting" from the inbox of a specific user. If the calendar message is a meeting request, it forwards the meeting request to two other users.

[Visual Basic]
Dim InboxURL    As String
Dim CalendarURL As String
Dim ItemURL     As String
Dim Rs          As New ADODB.Recordset
Dim Rec         As New ADODB.Record
Dim iAppt       As New Appointment
Dim iCalMsg     As New CalendarMessage
Dim iCalPart    As ICalendarPart
Dim iMsg        As Message
Dim Config      As New Configuration
Dim NewList     As String
Dim Index       As Integer

NewList = "someone@" & DomainName & "," & "another@" & DomainName

InboxURL = "file://./backofficestorage/" & DomainName & "/MBX/" & UserName & "/inbox/"
CalendarURL = "file://./backofficestorage/" & DomainName & "/MBX/" & UserName & "/calendar/"

'Set the configuration for the message
Config.Fields(cdoSendEmailAddress) = UserName & "@" & DomainName
Config.Fields.Update

'Open the record set for the calendar messages in the inbox folder
Rec.Open InboxURL
Set Rs.ActiveConnection = Rec.ActiveConnection
Rs.Source = "SELECT ""DAV:href"",""DAV:contentclass""," & _
            " ""urn:schemas:httpmail:subject"" " & _
  "FROM scope('shallow traversal of """ & InboxURL & """')" & _
  "WHERE (""DAV:contentclass"" = 'urn:content-classes:calendarmessage')" & _
  "AND (""urn:schemas:httpmail:subject"" = 'Documentation Review Meeting')"
Rs.Open

'Enumerate the record set and check for meeting requests
Rs.MoveFirst
Do Until Rs.EOF
  'Open the calendar message
  ItemURL = Rs.Fields(CdoDAV.cdoHref).Value
  iCalMsg.DataSource.Open ItemURL
  'Get each calendar part
  For Index = 1 To iCalMsg.CalendarParts.Count
    Set iCalPart = iCalMsg.CalendarParts(Index)
    If iCalPart.CalendarMethod = "REQUEST" Then
      Set iMsg = iCalMsg.Message.Forward
      iMsg.Configuration = Config
      iMsg.To = NewList
      iMsg.TextBody = "Please attend this meeting for me." & iMsg.TextBody
      iMsg.Send
      Exit For 'No need to check other calendar parts
    End If
  Next Index
Rs.MoveNext
Loop