Platform SDK: MAPI

Choosing Between Simple MAPI and CMC

The features provided by Simple MAPI and CMC are nearly identical, but CMC is slightly more compact, combining multiple features in a single function. Both interfaces provide a straightforward function call interface that enables users to create, send, receive, reply to, forward, and edit messages.

The following table lists all the functions in the CMC and Simple MAPI APIs together with the features they provide.

Purpose Simple MAPI function CMC function
Establish a session MAPILogon cmc_logon
Terminate a session MAPILogoff cmc_logoff
Free memory MAPIFreeBuffer cmc_free
Send a message with or without a user interface MAPISendMail cmc_send
Send a message with a user interface MAPISendDocuments cmc_send_documents
Find messages that match a set of search criteria MAPIFindNext cmc_list
Save a message MAPISaveMail cmc_act_on
Delete a message MAPIDeleteMail cmc_act_on
Assign recipients to a message MAPIAddress cmc_look_up
Show recipient details MAPIDetails cmc_look_up
Resolve ambiguous names in recipient list MAPIResolveName cmc_look_up
Retrieve configuration data - cmc_query_configuration

The main difference between the two APIs is that CMC is designed to be independent of the operating system. CMC was developed in conjunction with the X.400 Application Programming Interface Association (XAPIA) standards organization and electronic mail vendors and users. Because CMC runs on Windows, MS-DOS, and UNIX systems, it is a good choice for client applications that need to use multiple messaging systems on multiple platforms. Because Simple MAPI runs on Windows-based platforms only, it is a good choice for single platform Windows-based client applications that require a feature CMC lacks or that need to be compatible with an existing Simple MAPI application.