用Visual C++编写电子邮件程序
2010-09-29 20:03:32 来源:WEB开发网3-2-1 定位到第一封信
要找到第一封信,需要使用MAPIFindNext函数,其函数声明如下:
ULONG FAR PASCAL MAPIFindNext(LHANDLE lhSession,
ULONG ulUIParam, LPTSTR lpszMessageType,
LPTSTR lpszSeedMessageID, FLAGS flFlags,
ULONG ulReserved, LPTSTR lpszMessageID )
其中,lhSession为提交SMAPI的会话句柄 ;ulUIParam为父窗体的句柄;lpszMessageType指向一个字符串,用来鉴别邮件类型,并加以查找;lpszSeedMessageID为指向起始信息ID的指针,其值为0时,MAPIFindNext获得第一封电子邮件;flFlags的值见表2;ulReserved必须为0;lpszMessageID为输出值,它是指向信息ID地址的指针。
表2:MAPIFindNext函数中flFlags的值
值 意义
MAPI_GUARANTEE_FIFO 按邮件发送的时间顺序接受电子邮件。
MAPI_LONG_MSGID 返回信件标识符可达512字符。
MAPI_UNREAD_ONLY 只列举没有阅读过的电子邮件。
程序示例:
// 找到第一条没有阅读的电子邮件
char pMessageID [513];
ULONG lResult = lpfnMAPIFindNext(lhSession, NULL, NULL,
NULL, MAPI_LONG_MSGID | MAPI_UNREAD_ONLY,
0, pMessageID);
3-2-2 阅读信息
当信件ID被获取后,就可以调用MAPIReadMail
阅读实际的E-mail信息了。MAPIReadMail的函数声明如下:
ULONG FAR PASCAL MAPIReadMail(LHANDLE lhSession,
ULONG ulUIParam, LPTSTR lpszMessageID,
FLAGS flFlags, ULONG ulReserved,
lpMapiMessage FAR * lppMessage);
其中,lppMessage为指向MapiMessage的指针;
除flFlags外的其他参数与lpfnFindNext函数的同名参数意义相同,
- ››Visual Basic 2008 数学函数
- ››Visual Studio2005中Smart Device的问题
- ››Visual Studio 中根据数据库字段动态生成控件
- ››编写Linux定时处理程序
- ››Visual Studio 11全新黑色主题
- ››Visual Studio 2011 Beta新特性(一):安装VS201...
- ››编写Linux系统下Daemon程序的方法步骤
- ››电子邮件解析android.net.MailTo类
- ››Visual Studio自定义调试窗体两个小技巧
- ››Visual Studio 2005 Team Edition for Database P...
- ››Visual C#两分钟搭建BHO IE钩子
- ››编写组件,使用JavaScript更新UpdatePanel
更多精彩
赞助商链接