How to get mail header

A

Ashish

PR_TRANSPORT_MESSAGE_HEADERS contains mail header. For those mails which
dont have PR_TRANSPORT_MESSAGE_HEADERS property how to get their headers?
 
K

Ken Slovak - [MVP - Outlook]

They won't have headers if they don't have PR_TRANSPORT_MESSAGE_HEADERS.

Only emails sent over the Internet have that property. If the email was sent
internally using Exchange the property and mail headers won't exist on that
item.
 
A

Ashish

If i login to any exchange user account, and send a web page to exchange
user ( open internetexplorer for google.com web page and select
File->Send->Page By Email...).
This mail will not contain PR_TRANSPORT_MESSAGE_HEADERS.
Is there any other property for this mail which allow me to read mail
contents.
 
K

Ken Slovak - [MVP - Outlook]

What do you mean read mail contents?

If you get the item as a MailItem you can read every property it has. What
properties do you want to get? If the item was sent by you it should be in
Sent Items. You obviously can't read the message that was received by the
recipient, it's in his mailbox (unless you have permissions to access his
mailbox).

It still won't have Internet headers since it never was sent over the
Internet if it was strictly an internal email.
 
A

Ashish

If i login to exchange user, create a new mail and send to same user then
mail comes in its Inbox and SentItems folder. And both mails have
PR_TRANSPORT_MESSAGE_HEADERS property. I need mail header b'se i write my
own data in mail header(urn:schemas:mailheader:mytag)
In outlook addin i need to get mail header b'se i want to get mytag which i
wrote in mail.

For below specific case when send a mail using web page, mail dont contain
PR_TRANSPORT_MESSAGE_HEADERS. So my question is
"Is there any possiblity to get mail header in outlook addin if above
property is not present"
 
K

Ken Slovak - [MVP - Outlook]

If you send an email entirely within Exchange and it never leaves the server
there will not be any PR_TRANSPORT_MESSAGE_HEADER in the email Exchange does
not add those headers for internal emails.

If you send an email over the Internet the received email will have the
PR_TRANSPORT_MESSAGE_HEADER property. The sent item in the Sent Items folder
will never have that property, so I have no idea what you're talking about.
Check it yourself with a MAPI viewer such as OutlookSpy. There are no
headers in the sent item, period.

In a case where there is no property like that obviously there are no
headers, so how can you read the headers? It's impossible.

If you are adding headers to outgoing items using the special named MAPI
property trick then in internal only emails that stay within Exchange there
still won't be any PR_TRANSPORT_MESSAGE_HEADER property on the item but the
MAPI property you added will be there and can be read as a MAPI property.
 
A

Ashish

Yes you are right if we add headedr then we can read as MAPI property on
exchange server.
Thanks for clear understanding.
In outlook addin we can read mail header using PR_TRANSPORT_MESSAGE_HEADER

For all mails we can read header using PR_TRANSPORT_MESSAGE_HEADER in
outlook addin. and using MAPI property on exchange server.
But below case(send mail using webpage) MAPI property on exchange server
can read header, but outlook addin fail to read header. It shows empty
header.

Is there any reason why it's happening
 
K

Ken Slovak - [MVP - Outlook]

I have no idea what that Web page is sending out. If it meets the normal
RFC's for Internet email then it should be providing message headers and
those should be in the PR_TRANSPORT_MESSAGE_HEADERS property.

If the MAPI property is there (x-header MAPI property) instead of the
correct PR_TRANSPORT_MESSAGE_HEADERS property then I can only assume the Web
page is using Exchange and not sending over the Internet.

If it was truly Internet email sent out by the Web page then the MAPI
property would mean nothing to it. That sort of MAPI property is translated
into an x-header by MAPI when the email goes out through the message
transport. And the MAPI property can only be added using MAPI or an
equivalent API. The property means nothing to something like SMTP mail, or
SQL Server mail or whatever. Certainly a MAPI extended property wouldn't be
preserved except by MAPI.
 

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