用visualc++编写电子邮件程序

用visualc++编写电子邮件程序

ID:10724893

大小:85.00 KB

页数:9页

时间:2018-07-07

用visualc++编写电子邮件程序_第1页
用visualc++编写电子邮件程序_第2页
用visualc++编写电子邮件程序_第3页
用visualc++编写电子邮件程序_第4页
用visualc++编写电子邮件程序_第5页
资源描述:

《用visualc++编写电子邮件程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、用VisualC++编写电子邮件程序  一、概述  本文主要讲述如何使用VisualC++用MAPI编写E-mail程序。MAPI是包含在API,简单的MAPI  CMC,monMessagingCalls,一般通讯调用  完整的MAPI  SMAPI和CMC都包含在完整的MAPI中,当用户想执行一些高级操作,比如编写自己的E-mail服务器的时候,必须使用完整的MAPI。本文主要阐述如何编写能够收发电子邮件的程序,因此使用SMAPI就足够了。  二、编写电子邮件程序  3-1初始化MAPI  要使用MAPI,必须首先对它进行初始化。初始化包括以下三个步骤:  装载MAPI32.DLL

2、动态链接库  找到想要调用的MAPI函数地址  登录到电子邮件对象  3-1-1装载MAPI32.DLL  要装载MAPI,用户必须程序运行时动态的装载一个动态链接库。LoadLibrary函数提供了此功能,它定位一个动态链接库,并返回HINSTANCE局柄(需要保存该句柄)。  LoadLibrary的语法如下:LoadLibrary(lpLibFileName);  其中lpLibFileName为LPCTSTR结构变量,  是所要调用的库的路径和名称。  程序示例://调用MAPI32.DLL并计算函数地址HINSTANCEhInstMail;hInstMail=::LoadLi

3、brary(MAPI32.DLL);if(hInstMail==NULL){//错误处理//受篇幅限制,下面的错误处理部分省略}  3-1-2确定函数地址  由于MAPI32.DLL是被动态装载的,因此不知道所要调用的函数地址,也就不能一开始就调用它们,而要通过函数名获得函数的地址,并在动态链接库中查找每一个函数并核实。因此首先必须为这些函数声明指针  程序示例://为MAPI32.DLL中的函数声明函数指针ULONG(PASCAL*lpfnMAPISendMail)(LHANDLElhSession,ULONGulUIParam,lpMapiMessagelpMessage,FLAG

4、SflFlags,ULONGulReserved);ULONG(PASCAL*lpfnMAPIResolveName)(LHANDLElhSession,ULONGulUIParam,LPTSTRlpszName,FLAGSulFlags,ULONGulReserved,lpMapiRecipDescFAR*lppRecip);ULONG(FARPASCAL*lpfnMAPILogon)(ULONGulUIParam,LPSTRlpszProfileName,LPSTRlpszPass,FLAGSflFlags,ULONGulReserved);ULONG(FARPASCAL*lpfn

5、MAPIFreeBuffer)(LPVOIDlpBuffer);ULONG(FARPASCAL*lpfnMAPIAddress)(LHANDLElhSession,ULONGulUIParam,LPSTRlpszCaption,ULONGnEditFields,LPSTRlpszLabels,ULONGnRecips,lpMapiRecipDesclpRecips,FLAGSflFlags,ULONGulReserved,LPULONGlpnNe,LPSTRlpszMessageType,LPSTRlpszSeedMessageID,FLAGSflFlags,ULONGulReserv

6、ed,LPSTRlpszMessageID);ULONG(FARPASCAL*lpfnMAPIReadMail)(LHANDLElhSession,ULONGulUIParam,LPSTRlpszMessageID,FLAGSflFlags,ULONGulReserved,lpMapiMessageFAR*lppMessage);  为了决定每一个函数的地址,必须为每一个函数调用GetProcAddress。  GetProcAddress的语法为:GetProcAddress(hModule,lpProcName);  其中,hModule为HMODULE结构,是所调用DLL模块的句

7、柄;  lpProcName为LPCSTR结构,是函数名称。  程序示例://找到MAPI32.DLL函数的地址,并将它们保存在函数指针变量里(FARPROC)lpfnMAPISendMail=GetProcAddress(hInstMai12345下一页....,。l,MAPISendMail);(FARPROC)lpfnMAPIResolveName=GetProcAddress(hInstMail,MAPIResolveName);(FA

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。