Solved

Check Profile info

Posted on 2009-06-29
9
244 Views
Last Modified: 2012-05-07
I need to know how to check, when the OL Object is instantiated, the default profile's email address.
We want to check to see if the email of the user logged into our application is the same as the one in
the default profile in OL.
0
Comment
Question by:EddieShipman
  • 6
  • 3
9 Comments
 
LVL 36

Expert Comment

by:Geert Gruwez
ID: 24736374
OL  ???
0
 
LVL 26

Author Comment

by:EddieShipman
ID: 24736442
Outlook
0
 
LVL 26

Author Comment

by:EddieShipman
ID: 24736448
Sorry, I posted the same message to the Outlook VBA newsgroup and forgot to change it for this
Delphi TA.
0
 
LVL 26

Accepted Solution

by:
EddieShipman earned 0 total points
ID: 24738298
OK found the answer based on a 7ry old post of mine on DelphiPages:


uses ..., Outlook2000, MAPIDefs, MAPIUtil;
 

var

  pmOutlook:     _Application;

  NameSpace:     _NameSpace;

  DefaultUser:   Recipient;

  _AddressEntry: AddressEntry;

  pProp:         PSPropValue;

  MP:            IMAPIProp;

  strAddress:    String;

begin

  try

    pmOutlook    := GetActiveOleObject('outlook.application') as _Application;

  except

    try

      pmOutlook  := CreateOleObject('outlook.application') as _Application;

    except

      on e:EOleSysError do

        ShowMessage('Cannot Load Outlook:' + E.Message);

    end;

  end;

  try

    Namespace   := pmOutlook.GetNamespace('MAPI');

    MAPIInitialize(nil);

    try

      DefaultUser := NameSpace.CurrentUser;

      if DefaultUser.Address <> '' then

      begin

        _AddressEntry := DefaultUser.AddressEntry;

        MP:= IUnknown(_AddressEntry.MAPIOBJECT) as IMailUser;

        if S_OK = HrGetOneProp(MP, $39FE001E, pProp) then

        begin

          strAddress:=pProp.Value.lpszA;

          MAPIFreeBuffer(pProp);

        end;

        ListBox1.Items.Add(_AddressEntry.Name + ' : ' +  strAddress);

        Application.ProcessMessages;

      end; {if}

    finally

      MAPIUninitialize;

    end;

  finally

    pmOutlook.Application.Quit;

    pmOutlook     := Unassigned;

    Namespace     := Unassigned;

    DefaultUser   := Unassigned;

    _AddressEntry := Unassigned;

  end;

end;

Open in new window

0
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 
LVL 36

Expert Comment

by:Geert Gruwez
ID: 24739491
hehe,
i guess you're better that you thought yourself ...
0
 
LVL 26

Author Comment

by:EddieShipman
ID: 24740679
Yeah, I was surprised I found the post.
0
 
LVL 36

Expert Comment

by:Geert Gruwez
ID: 24980731
congrats on your top position ...

EddieShipman-Aced.png
0
 
LVL 26

Author Comment

by:EddieShipman
ID: 24981660
LOL, what happened to 1-4???
0
 
LVL 26

Author Comment

by:EddieShipman
ID: 24981688
Look at the bottom, that's where they are:
overall.png
0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Hello everybody This Article will show you how to validate number with TEdit control, What's the TEdit control? TEdit is a standard Windows edit control on a form, it allows to user to write, read and copy/paste single line of text. Usua…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now