How to get sender address in PST file without Outlook installed.

  • Thread starter Thread starter Guest
  • Start date Start date
Do you mean on a machine with no Outlook installed? The bigger question is
then how do you read the PST file? You can't unless you hack the file
format.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
 
Yes. Without installed.
Or another way, get the sender address from PST without Outlook opened.
Thanks.
 
Outlook (or MAPI) is not installed is very different from "without launching
outlook.exe".
Which one is it?

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
 
You can use either
1. Extended MAPI to either add a PST file to an existing profile or create a
new profile, add the "MSPST MS" service it to, configure it to use the PST
file in quesiton, and log to that profile using MAPILogonEx. C++/Delphi only
2. Outlook Object Model - use Namespace.AddStore to add a PST file to the
current profile. Note that even though using OOM launches outlook.exe, the
Outlook UI does not become visible unless the user has already launched it
or your code explciitly displays an inspector or an explorer.
3. Redemption - you can use RDOSession.Stores.AddPstStore. Next version of
Redemption (4.5) will also add RDOSession.LogonPstStore, which will create
(and delete) a temporary profile with the PST file if you do nto want thee
PST store to be visible in any of the existing profiles.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
 
Thanks very much. I am using Namespace.AddStore by vb script.
Still there is no a parameter to get the sender address of my own domain
users.
Only get the internet mail address(SMTP). I try to get the address by
internet head
, but there is no such internet head in domain emails.
Could you please give me an example? Thanks.
 
Do you mean you get the ugly EX address (which is normal) rather than SMTP
address from the MailItem.SenderEmailAddress property?
You will need Extended MAPI or Redemption to open the corresponding GAL user
and read the PR_SMTP_ADDRESS or rPR_EMS_AB_PROXY_ADDRESSES property.
Redemption also explicitly exposes it through the .Sender.SmtpAddress
property.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
 
Yes. objItems.SenderEmailAddress could not get the SMTP address of domain
users, only get the /O=TC ORGANIZATION/OU=CD ADMINISTRATIVE
GROUP/CN=RECIPIENTS/CN=Test_02, I need add the suffix of the address
(e-mail address removed).
I can get the smtp address which the email from Internet.
Is there a parameter to get the mail address directly?
I am using vbscript, or Do I need choose another language ?
 
The SMTP address is not stored directly in the message, you must retrieve it
from the corresponding GAL object.
In case of VB script, Redemption is your only option.
Otherwise Extended MAPI in C++ or Delphi is the only alternative.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
 
Thanks.
But how can I get the mail send time and recipients, still there is no
parameter to get.
Only get the received time.
 
ReceivedTime and SentOn properties should give wnat you need.
For the recipients, use tehe MailItem.Recipients collection.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
 
Back
Top