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

时间:2012-08-30 01:24:24

标签: c++ 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中的帐户有密码,但在MAPILogonEx文档中(http://msdn.microsoft.com/en-us/library/office/cc815545.aspx)据说让密码为NULL。

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

抱歉英语不好。

1 个答案:

答案 0 :(得分:2)

如果您未传递个人资料名称,则最终会使用默认个人资料。 您可以在“控制面板”中查看现有配置文件的名称邮件|显示个人资料。 要以编程方式枚举现有配置文件,请使用IProfAdmin :: GetProfileTable()