Attachments of saved MSG files

M

MON205

Hello,
I'm trying to open a MSG file (saved on disk) and get the names ans sizes of
attachments. GetAttachmentTable( ) returns S_OK but there are no info about
attachments. Also if you opened the MSG file with Outlook, and see the
attachments properties using OutlookSpy, you will notice that main
attachments info are not found.

How can I get these info?

Thanks
 
D

Dmitry Streblechenko

What exactly do you mean by "there are no info about attachments"?.
What properties are you trying to access? What exactly do you get?
Fo IMessage created on top of an MSG file, a very limited set of properties
is exposed. You need to open the attachment and then read properties from
it.
Keep in mind that when you double click on an MSG file, Outlook creates a
temporary message in the default store and copies the MSG file, so you are
not looking at the MSG file data.
You can see exposed properties in OutlookSpy: click Misc | OpenIMsgOnIStg.

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

MON205

I tried the Misc | OpenIMsgOnIStg and the same behavior found.
I need to read these properties:
1. PR_ATTACH_LONG_FILENAME_W,
2. PR_ATTACH_FILENAME_W
3. PR_DISPLAY_NAME
4. PR_ATTACH_SIZE
In OutlookSpy->IMessage->FetAttachmentTable(), Number of Rows displays the
correct number, but names of attachments are: (Row # 0, Row # 1, ...), and
property tags exist are just(PR_ATTACH_METHOD, PR_ATTACH_MIME_TAG_W,
PR_ATTACH_NUM, PR_RECORD_KEY, PR_RENDERING_POSITION).

Another note that when the message exists in Outlook, and you view the
message, the attachments displayed as(name(size)), but if the MSG saved out
of Outlook, the attachments displayed as (name)... no size displayed, any way
I don't know how Outlook gets the attachment names.

Any ideas how can I get the attachment names and sizes of a saved MSG file?
Waiting for respond...

Thanks.
----------------------------------------------------------
 
D

Dmitry Streblechenko

Once again, you need to open the attachment using IMessage::OpenAttach (get
back IAttach), then use IAttach::GetProps or HrGetOneProp to read the
properties.
Double ccik on an attachment in OutlookSpy to see teh atatchment properties.

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

MON205

Hi Dmitry,
Your way works fine. I can now get the name of the attachment. But still
cant get the size (PR_ATTACH_SIZE).
Anyway, when I try to do that from OutlookSpy, I can't get any data,
OpenAttach() results in an error message (IMessage::OpenAttach() returned
MAPI_E_NO_ACCESS).

As this works from my code, so I just need your help to get the size of the
attachment if it is possible.

Thanks again and again Dmitry

---------------------------------
 
D

Dmitry Streblechenko

It is up to tehe provider to expose the PR_ATTACH_SIZE property (it is
attachment data plus whatever otheer properties are stored with an
attachment).
If it is not availble, the size of the data in PR_ATTACH_DATA_BIN would be a
good approximation
--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
 
M

MON205

Don't you despair ?!!!
Thanks Dmitry

Dmitry Streblechenko said:
It is up to tehe provider to expose the PR_ATTACH_SIZE property (it is
attachment data plus whatever otheer properties are stored with an
attachment).
If it is not availble, the size of the data in PR_ATTACH_DATA_BIN would be a
good approximation
--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top