2012-08-30 2 views
0

나는 MapiEx (http://www.codeproject.com/Articles/10881/MAPIEx-Extended-MAPI-Wrapper)를 사용하여 메일을 생성하고 있습니다.MAPI로 프로필에서 이메일 주소를 얻는 방법

전자 메일에서 보낸 사람으로 설정하려면 MAPI 클라이언트에 이름과 전자 메일이 기록되어 있어야합니다.

CMAPIEx 클래스에는 GetProfileName 및 GetProfileEmail 메서드가 있지만 이러한 메서드를 사용하려면 사용자 프로필로 MAPI에 로그인해야합니다.

CMAPIEx의 로그인 메서드에서 ProfileName을 전달할 수 있지만 전달할 항목을 알 수 없습니다.

내 MAPI 클라이언트가 Outlook 2010이므로 계정에 설정 한 전자 메일이나 이름을 전달하려고 시도했지만 아무 것도 작동하지 않았습니다.

내가 CMAPIEx 클래스의 로그인 방법을 보면서 내가 이걸 발견 :

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 클라이언트에 로그인 한 이름과 전자 메일 만 있으면됩니다. 누군가 내가 잘못했거나 다른 방법으로 정보를 얻는 것을 알고 있으면 알려주십시오.

죄송합니다.

답변

2

프로필 이름을 전달하지 않으면 기본 프로필로 끝납니다. 제어판에서 기존 프로필의 이름을 볼 수 있습니다. 메일 | 프로필보기. 기존 프로필을 프로그래밍 방식으로 열거하려면 IProfAdmin :: GetProfileTable()을 사용하십시오.

관련 문제