找遍了COM接口函数,没找到,哪位兄弟做过

解决方案 »

  1.   

    我存成txt文件,然后取发件人,不过联系人多了就出错,我的VC代码如下:
    CComPtr<_Explorer> spExplorer= m_spApp->ActiveExplorer(); 
    CComPtr<MAPIFolder> spFolder;
    _ItemsPtr spItems;
    _MailItemPtr spContact;
    spFolder=m_spApp->GetNamespace("MAPI")->GetDefaultFolder(olFolderInbox);

    if (spFolder == NULL) 
    return;
    spItems = spFolder->GetItems();
    if (spItems == NULL)
    return;
    spContact = spItems->GetFirst();
    if (spContact == NULL)
    return;
    int count=0;
    BOOL bInsert=1;
    while (spContact != NULL)
    {
    CComVariant vIndex(5);//index;
    spContact->SaveAs("F:\\test.txt",vIndex);
                      //以下是分析文件...
             }
    这个方法在联系人多了SaveAs这行会报错!
      

  2.   

    #include "mapi.h"ULONG (FAR PASCAL *lpfnMAPIReadMail)(LHANDLE lhSession,ULONG ulUIParam, LPSTR lpszMessageID,FLAGS flFlags, ULONG ulReserved, lpMapiMessage FAR *lppMessage);ULONG (FAR PASCAL *lpfnMAPILogon)(ULONG ulUIParam, LPSTR lpszProfileName, LPSTR lpszPassword,FLAGS flFlags, ULONG ulReserved,LPLHANDLE lplhSession); ULONG (FAR PASCAL *lpfnMAPILogoff)(LHANDLE lhSession, ULONG ulUIParam, FLAGS Flags, ULONG ulReserved); ULONG (FAR PASCAL *lpfnMAPIFindNext)(LHANDLE lhSession, ULONG ulUIParam, LPSTR lpszMessageType, LPSTR lpszSeedMessageID, FLAGS flFlags, ULONG ulReserved, LPSTR lpszMessageID);  MapiMessage *pMessage;
    ULONG lResult; HINSTANCE hInstMail; 
    hInstMail = ::LoadLibrary ("MAPI32.DLL"); 
    (FARPROC&) lpfnMAPIReadMail = GetProcAddress(hInstMail,"MAPIReadMail");
    (FARPROC&) lpfnMAPILogon = GetProcAddress(hInstMail, "MAPILogon"); 
    (FARPROC&) lpfnMAPILogoff = GetProcAddress(hInstMail, "MAPILogoff"); 
    (FARPROC&) lpfnMAPIFindNext = GetProcAddress(hInstMail, "MAPIFindNext"); 
    LHANDLE lhSession;
    char pMessageID [513]; 
    lResult = lpfnMAPILogon(0, NULL, NULL, 0, 0, &lhSession);
    lResult = lpfnMAPIFindNext(lhSession, NULL, NULL, NULL, MAPI_LONG_MSGID | MAPI_UNREAD_ONLY, 0, pMessageID); 
    lResult = lpfnMAPIReadMail(lhSession, 0, pMessageID, MAPI_ENVELOPE_ONLY  , 0, &pMessage);
    lResult = lpfnMAPILogoff(lhSession, 0, 0, 0);
    pMessage->lpOriginator->lpszAddress 就是发送者的邮件地址