0

Basically, I'm attempting to work with MSG files and I want to know if these files are pretty standard across different mail servers... basically, is there an RFC on MSG files just like there is one for email addresses and other topics?

So options that I have figured it out are:
msg file format
icalendar format 

I guess I can be a bit more specific to get a better understanding of what I need. I am scanning an Exchange mailbox and saving out the tasks. So which format I should choose to download my tasks data from the backup so that I can directly export it to my exchange online and office 365 client.

For mails, I have used eml files format(.eml files are usually stored in rfc822 format)
For contacts, I have used Vcard to save data of contacts
For Calendar events, I have used ics format (icalendar). 

Above all are not specific to microsoft.

So what should be the appropriate format for saving my Tasks so that I can export them directly into my account without much information loss of task.

Kartik Thakurela
  • 141
  • 1
  • 11
  • MSG is not even well-defined. You are talking about some proprietary Microsoft format? – tripleee Jan 16 '19 at 08:26
  • 1
    To the extent that I can guess what you are asking, "Tasks" are entirely a Microsoft thing. – tripleee Jan 16 '19 at 08:28
  • 1
    There is no [tag:python] in this question. – Peter Wood Jan 16 '19 at 08:35
  • @tripleee Yes MSG is a file extension for a mail message file format used by Microsoft Outlook and Exchange. I used Vcard for contacts as this data interchange format is widely accepted. I use this for exchange contacts and google contacts. – Kartik Thakurela Jan 16 '19 at 09:24
  • @tripleee So basically I was asking is there any format available for Tasks which I can use for multiple purposes(other server's tasks to keep it as generic) – Kartik Thakurela Jan 16 '19 at 09:25
  • I think you have answered the question yourself; there is only Microsoft's format (though these days they probably have what they like to pass off as documentation on its internals). – tripleee Jan 16 '19 at 09:27
  • @tripleee Actually there are other cloud applications also which I use for data backup like gsuite. There also we have Notes. I have made vcard and ics format as generic which can we used my multiple cloudapplications. That is why I am looking for alternate option than msg format for tasks – Kartik Thakurela Jan 16 '19 at 09:33

1 Answers1

1

MSG file format is documented at https://msdn.microsoft.com/en-us/library/cc463912%28v=exchg.80%29.aspx?f=255&MSPPError=-2147217396

If you are moving items between Exchange servers, consider the Fast Transfer Stream (FTS) format - use ExportItems and UploadItems EWS operations.

Dmitry Streblechenko
  • 62,942
  • 4
  • 53
  • 78
  • For exchange online.. -> For contacts, we have used vcf format, for mails, we have used eml format, for calendar events we have used ics format. So what should be the appropriate format for task (these formats are defined to download data) – Kartik Thakurela Apr 09 '19 at 15:51
  • In EWS? Use ast Transfer Stream (ExportItems / UploadItems) – Dmitry Streblechenko Apr 10 '19 at 16:11
  • Not in ews. general I am asking so that these tasks can be imported back in the exchange online. Ex. For mails, eml format works just fine for gmail and exchnage online for importing the mals. So after fetching tasks using outlook rest api, what is the generic format that I need to make in python for importing the task data? – Kartik Thakurela Apr 11 '19 at 04:52
  • I don't think REST API exposes the native item format like FTS or MSG. – Dmitry Streblechenko Apr 11 '19 at 05:36
  • You are getting it completely wrong. Let me explain it for exchange contacts, suppose I am fetching data using outlook rest contact api then I save this data in key-value pair after that I use code something like this self.vcard = inSyncVcard.Vcard(). I save all my key-value pair data in vcard attributes. – Kartik Thakurela Apr 11 '19 at 06:14
  • You are missing my point - MSG and FTS can represent any kind of item (mail, contact, appointment, task, etc) - it is essentially an amorphous bag of all MAPI properties. There is nothing like that for the REST API to the best of my knowledge. – Dmitry Streblechenko Apr 11 '19 at 06:39