如何使用MAPI从配置文件中获取电子邮件地址



我正在使用MapiEx(http://www.codeproject.com/Articles/10881/MAPIEx-Extended-MAPI-Wrapper)以生成邮件。

我需要MAPI客户端中记录的姓名和电子邮件,以便在电子邮件中设置为发件人。

CMAPIEx类具有GetProfileName和GetProfileEmail方法,但要使用这些方法,我需要使用用户配置文件登录MAPI。

在CMAPIEx的Login方法中,我可以传递ProfileName,但我不知道该传递什么。

我的MAPI客户端是Outlook 2010,我试图传递我在帐户中设置的电子邮件或名称,但没有成功。

我查看了CMAPIEx类中的Login方法,发现了以下内容:

DWORD dwFlags=MAPI_EXTENDED | MAPI_USE_DEFAULT | MAPI_NEW_SESSION;
if(bInitAsService) dwFlags|=MAPI_EXPLICIT_PROFILE | MAPI_NT_SERVICE;
return (MAPILogonEx(NULL, (LPTSTR)szProfileName, NULL, dwFlags, &m_pSession)==S_OK);

MAPILogonEx的第三个参数是密码,我在Outlook中的帐户有密码,但在MAPILogon Ex文档中(http://msdn.microsoft.com/en-us/library/office/cc815545.aspx)据说让密码为NULL。

正如我在第二段中所说,我只需要登录MAPI客户端的姓名和电子邮件,如果有人知道我做错了什么或通过其他方式获取这些信息,请告诉我。

抱歉英语不好。

如果您不传递配置文件名称,您将得到默认的配置文件。您可以在"控制面板"|"邮件"|"显示配置文件"中查看现有配置文件的名称。要以编程方式枚举现有配置文件,请使用IProfAdmin::GetProfileTable()