Bug 49375

Summary: Support for contacts
Product: POI Reporter: yoda
Component: HSMFAssignee: POI Developers List <dev>
Status: RESOLVED WONTFIX    
Severity: enhancement    
Priority: P2    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Attachments: Zip containing .msg, .vcf, .rtf and .txt files with the same data, generated with German Outlook 2003 and English Outlook 2000

Description yoda 2010-06-03 05:47:14 UTC
It would be great if the MAPIMessage would have more IPM.Contact related properties. For example the first name, last name, birthday and several address fields. Or maybe a subclass could handle these msg files.

By the way, you did a great job already!
Comment 1 Nick Burch 2010-06-03 06:08:56 UTC
Firstly, could you please upload a couple of sample messages which include this contact information in them? Please include with each message a plain text file describing the contact information, so when we come to write unit tests we can ensure we've fetched the correct stuff back out!

Secondly, if you could identify which of the Microsoft specification PDFs contains the contact information definitions, that'd be a big help. There's something like 50 PDFs covering all of the outlook file formats, so it can take a while to find the right bit of the spec...
Comment 2 yoda 2010-06-04 07:47:17 UTC
Created attachment 25528 [details]
Zip containing .msg, .vcf, .rtf and .txt files with the same data, generated with German Outlook 2003 and English Outlook 2000

If you could tell me where all these specifications can be found, I maybe can seek out the one you need.

By the way: The most interesting properties for a msg contact (all can be matched to properties of the vCard file format):
-------------------------------
FullName
Lastname
Firstname
JobTitle
Department
CompanyName
BusinessAddress
HomeAddress
OtherAddress
HomeTelephoneNumber
HomeFaxNumber
BusinessTelephoneNumber
MobileTelephoneNumber
BusinessFaxNumber
OtherTelephoneNumber
Email1Address
Email1DisplayName
Profession
Birthday
WebPage
-------------------------------
All of them are in the example files + some more.
Comment 3 Nick Burch 2010-06-04 08:22:49 UTC
For the specs, start at:
http://msdn.microsoft.com/en-us/library/cc463900%28EXCHG.80%29.aspx

And work your way through all the other exchange/outlook related documents from there...
Comment 4 Nick Burch 2010-06-04 08:26:49 UTC
Looking at the attached files, it seems that the contact information is in the 0x8000 - 0x81FF range of chunk IDs, with some of it also duplicated in the 0x3Axx range.

If you run the files through org.apache.poi.poifs.dev.POIFSViewer you'll see most of it quite easily. The next step is to find the specs, so we can be sure what'll always be in chunks with a given ID, rather than guessing....!
Comment 5 Dominik Stadler 2016-02-14 08:26:32 UTC
N progress for a long time, thus closing for now. Please reopen this issue if you plan to work on this.