Прикольно, но сам автор не очень-то рекомендует использовать этот формат:
http://blogs.msdn.com/stephen_griffin/archive/2008/01/08/no-msg-for-you.aspx
Т.е. во многом он там прав и по поводу скорости, и потери данных (в случае транзакции).
Но особо умиляет этот абзац:
Next – not every MSG file you can write can be opened by Outlook. Over the years folks have tried various tricks to squeeze performance out of the code writing their MSG files. In many cases, they succeeded in writing the file faster, or allowing more recipients and attachments on the message. But the downside was they wrote a file that Outlook didn’t know how to open! One variation of this issue surfaced with Outlook 2007. Given the performance problems working with MSG files, in Outlook 2007 we decided to check the number of recipients and attachments when opening the file. If either was over 2048, then we refused to open the file at all.
Вместо того, чтобы явным образом прописать в стандарте те ограничения, которые они накладывают, или просто дать список тегов, которые необходимы для “правильной” работы, они тупо реджектят файл.
Меня бы это обходило стороной, но на мне висит похожая проблема – файлы, которые я генерю своей библиотекой, часто не открываются в Outlook.
Причем все теги и данные там валидны, а почему не открываются – мне не известно.
К этой проблеме я периодически возвращаюсь и повозившись день-два опять забываю на месяц. Хотелось бы все-таки окончательно ее решить, но пока не судьба:-)
Кстати там же описано, что Extended MAPI не поддерживает уникод, который есть только при автоматизации Outlook 2003 and Outlook 2007
С учетом того, что моя библиотека с этим справляется легко, то это еще один advantage в мой адрес