MAPI Support: Difference between revisions

From MozillaZine Knowledge Base
Jump to navigationJump to search
(added "Related bug reports" section since I'm adding a second report, Bug 109362)
m (Bolded the 3 key sentences to make it easier for non-technical users)
Line 2: Line 2:




There are two types of MAPI implementations, SimpleMAPI and ExtendedMAPI. ExtendedMAPI uses MAPI as a actual messaging engine. It used by Outlook to make native calls to the Microsoft Exchange server. Outlook Express and Thunderbird don't support Extended MAPI, which is why you can only use them with a Microsoft Exchange Server if the admin also installs POP/IMAP/SMTP mail servers on that server.
There are two types of MAPI implementations, SimpleMAPI and ExtendedMAPI. ExtendedMAPI uses MAPI as a actual messaging engine. It used by Outlook to make native calls to the Microsoft Exchange server. '''Outlook Express and Thunderbird don't support Extended MAPI, which is why you can only use them with a Microsoft Exchange Server if the admin also installs POP/IMAP/SMTP mail servers on that server.'''


SimpleMAPI is a subset thats used by applications to call the default email client to send a message without that application having to know anything about what email client is doing the actual work. For example, if Thunderbird was the default email client you could use Microsoft Word, Microsoft Excel, or MYOB to send a message. Many scanners also use SimpleMAPI to mail an image file.  
SimpleMAPI is a subset thats used by applications to call the default email client to send a message without that application having to know anything about what email client is doing the actual work. For example, if Thunderbird was the default email client you could use Microsoft Word, Microsoft Excel, or MYOB to send a message. Many scanners also use SimpleMAPI to mail an image file.  


All you need to do to support SimpleMAPI is to [[Default_mail_client | configure Thunderbird as the default email client]] and make certain you don't configure any other email clients that you might run as the default email client. Otherwise the email clients will fight to be the default email client.  
'''All you need to do to support SimpleMAPI is to [[Default_mail_client | configure Thunderbird as the default email client]] and make certain you don't configure any other email clients that you might run as the default email client.''' Otherwise the email clients will fight to be the default email client.  


The default email client replaces MAPI32.DLL with a stub that redirects any calls to that DLL to itself. This isn't something unique to Thunderbird, thats the way Microsoft designed it. This can have side-effects. Outlooks calendar is implemented as a MAPI provider, so it needs to call the original MAPI32.DLL. This will break if you make Thunderbird the default email client. Novells Groupwise application only supports SimpleMAPI but it insists on being the default email client or it will not work. You can try to workaround this by copying the Groupwise MAPI32.DLL stub to the Groupwise directory. (When a application tries to find a DLL it normally searches in the current directory before it searches the windows system directory.)
The default email client replaces MAPI32.DLL with a stub that redirects any calls to that DLL to itself. This isn't something unique to Thunderbird, thats the way Microsoft designed it. This can have side-effects. Outlooks calendar is implemented as a MAPI provider, so it needs to call the original MAPI32.DLL. This will break if you make Thunderbird the default email client. Novells Groupwise application only supports SimpleMAPI but it insists on being the default email client or it will not work. You can try to workaround this by copying the Groupwise MAPI32.DLL stub to the Groupwise directory. (When a application tries to find a DLL it normally searches in the current directory before it searches the windows system directory.)


Thunderbird's SimpleMAPI support is buggy. It also doesn't fully implement MAPIAddress, MAPIDetails and (more importantly) MAPIResolveName [https://bugzilla.mozilla.org/show_bug.cgi?id=244222] . They always return MAPI_E_FAILURE. Some third party applications that actually only use SimpleMAPI calls check for whether ExtendedMAPI is supported. This is sloppy programming, and there is nothing you can do to work around it. Its difficult to figure out why a particular application works or doesn't work with Thunderbird because there is no MAPI logging file.
'''Thunderbird's SimpleMAPI support is buggy.''' It also doesn't fully implement MAPIAddress, MAPIDetails and (more importantly) MAPIResolveName [https://bugzilla.mozilla.org/show_bug.cgi?id=244222] . They always return MAPI_E_FAILURE. Some third party applications that actually only use SimpleMAPI calls check for whether ExtendedMAPI is supported. This is sloppy programming, and there is nothing you can do to work around it. Its difficult to figure out why a particular application works or doesn't work with Thunderbird because there is no MAPI logging file.


Outlook supports Corporate and Workgroup modes that let you connect to a Microsoft Exchange Server and use any of the information services listed in the Exchange profile. Thunderbird doesn't support that since it can't make native Exchange calls. It supports what Microsoft calls Internet Mail Only (IMO) mode. Thunderbird can access a Microsoft Exchange Global Address List (GAL) by treating it as a LDAP based address book.
Outlook supports Corporate and Workgroup modes that let you connect to a Microsoft Exchange Server and use any of the information services listed in the Exchange profile. Thunderbird doesn't support that since it can't make native Exchange calls. It supports what Microsoft calls Internet Mail Only (IMO) mode. Thunderbird can access a Microsoft Exchange Global Address List (GAL) by treating it as a LDAP based address book.

Revision as of 17:10, 26 January 2007

This article was written for Thunderbird but also applies to the Mozilla Suite. (For the Mozilla Suite, you will need to replace "Thunderbird" with "Mozilla" or "Mozilla Mail" in the instructions where appropriate.)


There are two types of MAPI implementations, SimpleMAPI and ExtendedMAPI. ExtendedMAPI uses MAPI as a actual messaging engine. It used by Outlook to make native calls to the Microsoft Exchange server. Outlook Express and Thunderbird don't support Extended MAPI, which is why you can only use them with a Microsoft Exchange Server if the admin also installs POP/IMAP/SMTP mail servers on that server.

SimpleMAPI is a subset thats used by applications to call the default email client to send a message without that application having to know anything about what email client is doing the actual work. For example, if Thunderbird was the default email client you could use Microsoft Word, Microsoft Excel, or MYOB to send a message. Many scanners also use SimpleMAPI to mail an image file.

All you need to do to support SimpleMAPI is to configure Thunderbird as the default email client and make certain you don't configure any other email clients that you might run as the default email client. Otherwise the email clients will fight to be the default email client.

The default email client replaces MAPI32.DLL with a stub that redirects any calls to that DLL to itself. This isn't something unique to Thunderbird, thats the way Microsoft designed it. This can have side-effects. Outlooks calendar is implemented as a MAPI provider, so it needs to call the original MAPI32.DLL. This will break if you make Thunderbird the default email client. Novells Groupwise application only supports SimpleMAPI but it insists on being the default email client or it will not work. You can try to workaround this by copying the Groupwise MAPI32.DLL stub to the Groupwise directory. (When a application tries to find a DLL it normally searches in the current directory before it searches the windows system directory.)

Thunderbird's SimpleMAPI support is buggy. It also doesn't fully implement MAPIAddress, MAPIDetails and (more importantly) MAPIResolveName [1] . They always return MAPI_E_FAILURE. Some third party applications that actually only use SimpleMAPI calls check for whether ExtendedMAPI is supported. This is sloppy programming, and there is nothing you can do to work around it. Its difficult to figure out why a particular application works or doesn't work with Thunderbird because there is no MAPI logging file.

Outlook supports Corporate and Workgroup modes that let you connect to a Microsoft Exchange Server and use any of the information services listed in the Exchange profile. Thunderbird doesn't support that since it can't make native Exchange calls. It supports what Microsoft calls Internet Mail Only (IMO) mode. Thunderbird can access a Microsoft Exchange Global Address List (GAL) by treating it as a LDAP based address book.

Related bug reports

External links

See also