About: Mailbox Accessing APIs

These APIs are used to access folders and items inside mailbox and public folder stores.  These are the APIs used to create mail client applications.  They have varying levels of business logic available – not all APIs have objects for working with specialized item types like contacts, appointments, tasks, etc. These APIs do not do…


About: CDO 1.21

API Interface: Mailbox AccessorAPI Interface: COM Library with no custom interfaces (IDispatch only)Business Logic: Messages, AddressBook, and default mailbox Calendar.Language Support: Any *unmanaged* COM compatible language (C++, VB6, VB Script).Direct Property Access: Yes.Product Versions: All versions of Outlook and Exchange up to 2003.  Also available for download. Description:   CDO 1.21 (also known as CDO.dll or CDO 1.2.1) is a COM-based (IDispatch…


Best Practices - What is supported and not.

The issue of supportability comes up a lot.  I would like cover it in this blog post. When we get cases from customers we look at the servers, software and APIs involved.  In addition, the development scenarios and configurations are taken into considerations. A lot of customers run outdated versions of Exchange and Outlook – such as…


FYI: The latest version of the Exchange MAPI download was released yesterday.

The latest version of the Exchange MAPI download was released yesterday.   Microsoft Exchange Server MAPI Client and Collaboration Data Objects 1.2.1 http://www.microsoft.com/downloads/details.aspx?familyid=e17e7f31-079a-43a9-bff2-0a110307611e&displaylang=en


Howto: Accept meeting requests with VB6 and CDO 1.21

Here is a sample to accept all meeting requests using CDO 1.21. ‘ The code below will accept all meeting requests in the users inbox.Private Sub cmdAcceptRecurringMeeting_Click()   Dim objSession As mapi.Session    Dim ObjMessage As mapi.Message    Dim oMessages As mapi.Messages    Dim oAppointment As mapi.AppointmentItem    Dim oFolder As mapi.Folder    Dim objOrig As AppointmentItem    Dim objRecPatt As RecurrencePattern   …


My .EDB file grows when I search.

When doing a WebDAV or any other search, you will likely see the .EDB file expands. When performing a search against a mailbox using WebDAV or any other API, you may see the .EDB file grow in size.  Don’t panic, this is normal.  When a search is performed, Exchange will put the results into a…


HOWTO: VB/CDO 1.21 - Cancel a Recurring Meeting using a single Recurrance

‘ This code finds an meeting occurance and uses it to cancel the entire meeting series and’ have “Cancelled:” in front of the subject lines on the update messages sent to the recipient(s).’ To use:’  Create a recurring meeting inside the date/time range below with the subject “testabc”.’  Invite an attendee.’  Change the time of…


CDO 1.21 and Unicode Text (Japanese, Chinese, Korean, etc)

CDO 1.21 and Unicode Text (Japanese, Chinese, Korean, etc)   Having issues using CDO 1.21 with multi-byte (unicode) languages such as Japanese, Korean, Chinese? Do you want a way to create an appointment item with Japanese text using CDO 1.21?  This is not as straight-forward as it should be, here is info to help.  You will probably…


Setting MeetingStatus to CdoNonMeeting using CDO will cause the AllDay flag to not be set on an occurance in Outlook.

If you use CDO 1.21 to set the MeetingStatus to CdoNonMeeting for a single occurance of an all day recurring appointment, you will find that the AllDay flag is not set when the appointment is converted to a meeting and accepted by the attendee.  Private Sub cmdMakeInstanceAllDay_Click()    Dim objSession As mapi.Session    Dim ObjMessage As mapi.Message   …


Setting timezone options with CDO 1.21.

CDO 1.21 Timezone information is stored in a a property inside of the user’s mailbox and is CDO 1.21 specific. It is set any time a CDO 1.21 session sets the time zone and persists for that user until changed. This means it will be used by any subsequent CDO 1.21 session. OWA 5.5 will affect the…