Help and Support

Article ID: 163783 - Last Review: October 28, 2006 - Revision: 3.4

XCLN: MAPISendMail Function Fails in 32-bit VB Environment

This article was previously published under Q163783
Expand all | Collapse all

SUMMARY

A simple MAPI program written originally in 16-bit VB 3.0 fails on the MAPISENDMAIL function when the program is recompiled in the 32-bit VB 4.0 environment. The program will produce an error 25 on the MAPISENDMAIL function, which is an invalid recipient error.

MORE INFORMATION

The reason for the error is that the way of declaring a 32-bit function in 32-bit Visual Basic 4.0 is different then declaring a 16-bit function in 16-bit Visual Basic (3.0 or 4.0). Mapi32.dll is expecting a pointer to the Recipient array instead of the address of the first element.

There is an updated module that corrects this problem. This module contains updated declares and other necessary procedures for this process to work correctly in the 32-bit Visual Basic environment. This file is the updated Mapivb32.bas file. For more information about the availability of this file, please see the following article in the Microsoft Knowledge Base:
163216  (http://support.microsoft.com/kb/163216/EN-US/ ) XCLN: Updated Mapivb32.bas for Simple MAPI on 32-Bit Platforms
The following is the correct syntax for the code to call the MAPISendMail function with the new BAS file:
   RET& = MAPISendMail(hSession&, 0, MailMsg, Recips, NoFile, 0&, 0&)
				

APPLIES TO
  • Microsoft Exchange Client 5.5
  • Microsoft Exchange Client 4.0
Keywords: 
kbusage KB163783
Retired KB ArticleRetired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.

Article Translations