当前位置:编程学习 > C#/ASP.NET >>

如何解析eml文件格式,有谁知道么???

一般大家怎么用程序解析eml格式文件取出正文,附件。。。。 --------------------编程问答-------------------- up! --------------------编程问答-------------------- http://www.china-askpro.com/msg8/qa67.shtml --------------------编程问答-------------------- 有标志 具体在codeproject上找 --------------------编程问答-------------------- 和大家分享一个解决方案,使用这种方法,可以非常容易读取和"EML"邮件相关的所有信息

1、添加COM组件cdosys.dll的引用,如图


2、相关代码
  /// <summary>
        /// 获取eml文件的主体内容
        /// </summary>
        /// <param name="file">eml文件的路径</param>
        /// <returns>eml文件的主体内容</returns>
        public string ReadEML(string file)
        {
            CDO.Message oMsg = new CDO.Message(); 
            ADODB.Stream stm = null;
            //读取EML文件到CDO.MESSAGE,做分析的话,实际是用了下面的部分
            try
            {
                stm = new ADODB.Stream();
                stm.Open(System.Reflection.Missing.Value,
                         ADODB.ConnectModeEnum.adModeUnknown,
                         ADODB.StreamOpenOptionsEnum.adOpenStreamUnspecified,
                         "", "");
                stm.Type = ADODB.StreamTypeEnum.adTypeBinary;//二进制方式读入

                stm.LoadFromFile(file); //将EML读入数据流

                oMsg.DataSource.OpenObject(stm, "_stream"); //将EML数据流载入到CDO.Message,要做解析的话,后面就可以了。 

            }
            catch (IOException ex)
            {

            }
            finally
            {
                stm.Close();
            }
            return oMsg.HTMLBody;//oMsg里包含了邮件相关的所有信息
        }

有关“cdosys.dll”模块可以到网上进一步了解,使用它可以方面的完成邮件的所有功能 --------------------编程问答-------------------- 楼上的太帅了 --------------------编程问答-------------------- "oMsg.DataSource.OpenObject(stm, "_stream"); //将EML数据流载入到CDO.Message,要做解析的话,后面就可以了。"

后面如何查找和替换发件人呢?
--------------------编程问答-------------------- 我也想知道。 --------------------编程问答-------------------- php 怎么解析能够在浏览器中显示?
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,