请问,outlook另存为的.msg文件如何读取?

Mark2Win 2009-05-08 07:21:00
需求如下:将outlook另存为的.msg文件读取到内存中,并导出为pdf文件,请问如何读取这个.msg文件?提供代码最好,谢谢!
...全文
1066 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
linasd2002 2012-04-13
  • 打赏
  • 举报
回复
六楼(Mark2Win)OpenSharedItem在outlook2003里是没有的api,只有2007以上有
DataBox-MDX 2011-12-08
  • 打赏
  • 举报
回复
so kind of LZ, just share the answer finaly. thanks
Mark2Win 2009-05-09
  • 打赏
  • 举报
回复
谢谢ls几位,自己搞定了,没这么复杂:

1. 安装office07(估计03也可以,未试)
2. 引用:using OutLook = Microsoft.Office.Interop.Outlook;(07版本是12.0)
3. 示例代码:

OutLook.Application olApp = new OutLook.Application();
OutLook.NameSpace olNS = myolApp.GetNamespace("MAPI");
OutLook.MailItem olMail = default(OutLook.MailItem);
bool cancelled = false;
string sourcePath = "c:\xx.msg";
string targetPath= "c:\xx.doc";//另存为doc文件

olMail = myNamespace.OpenSharedItem(sourcePath);
olMail.SaveAs(targetPath, OutLook.OlSaveAsType.olDoc); //指定 save as 的类型
olMail.Close(cancelled); //ref cancelled传进去的时候必须=false
olMail = null; //注意此句必须,否则一直不会释放对象,导致msg文件被锁住,以后加载会报错

if(!cancelled){
//转换doc到pdf,不再详述
}
nosaxw 2009-05-09
  • 打赏
  • 举报
回复
先把下面网址里的内容看下。
http://www.fileformat.info/format/outlookmsg/

然后用FileStream写读取算法吧。

这个还算好,以前写某些程序的打包格式哪才叫惨。得自己猜格式。哈哈
  • 打赏
  • 举报
回复
没搞过,帮顶~~
Mark2Win 2009-05-09
  • 打赏
  • 举报
回复
谢谢lsUP!
蓝海D鱼 2009-05-08
  • 打赏
  • 举报
回复
UP

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧