我如何解析ms outlook 2003电子邮件正文的字符串,即关键字'error'

本文关键字:关键字 error 字符串 ms 何解析 outlook 2003 正文 电子邮件 | 更新日期: 2023-09-27 18:15:14

我正试图找出如何解析ms outlook 2003电子邮件正文字符串使用c#例如:阅读所有的电子邮件在某些文件夹和搜索电子邮件正文的单词"错误"在这些电子邮件。

一旦在电子邮件正文中找到这个字符串错误,我想显示电子邮件和错误消息。

到目前为止,我有以下代码,基本上只是读取文件夹中的所有电子邮件并显示有关电子邮件的所有信息。

我遇到的问题实际上是试图在每个单独的电子邮件中读取邮件项目正文,以便我可以搜索字符串。

我一直在搜索相当一段时间在网上,并发现代码非常类似于我下面有什么,但没有显示你,或者如果有可能阅读包含电子邮件的文件夹,通过阅读个别的每封电子邮件和搜索字符串"错误",如果在电子邮件中发现这个关键字显示电子邮件的详细信息,即电子邮件主题,错误信息等

任何帮助都将非常感激。

万分感谢。约翰。

using System;
using System.Reflection; 
using Outlook = Microsoft.Office.Interop.Outlook;
namespace AccessOutlook
{
     public class Class1
     {
          public static void Main(string[] args)
          {
               Microsoft.Office.Interop.Outlook.Application app = null;
               Microsoft.Office.Interop.Outlook._NameSpace ns = null;
               Microsoft.Office.Interop.Outlook.MailItem item = null;
               Microsoft.Office.Interop.Outlook.MAPIFolder inboxFolder = null;
               Microsoft.Office.Interop.Outlook.MAPIFolder subFolder = null;
               try 
               {
                    app = new Microsoft.Office.Interop.Outlook.Application();
                    ns = app.GetNamespace("MAPI");
                    ns.Logon(null,null,false, false);
                    inboxFolder = ns.GetDefaultFolder
                     (Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox);
                    subFolder = inboxFolder.Folders["Docs"]; 
                    Console.WriteLine("Folder Name: {0}, EntryId: {1}", subFolder.Name,     
                      subFolder.EntryID);
                    Console.WriteLine("Num Items: {0}",     
                      subFolder.Items.Count.ToString());
                    for(int i=1;i<=subFolder.Items.Count;i++)
                    {
                         item = 
                         (Microsoft.Office.Interop.Outlook.MailItem)subFolder.Items[i];
                         Console.WriteLine("Item: {0}", i.ToString());
                         Console.WriteLine("Subject: {0}", item.Subject); 
                         Console.WriteLine("Sent: {0} {1}",  
                        item.SentOn.ToLongDateString(), item.SentOn.ToLongTimeString());
                         Console.WriteLine("Categories: {0}", item.Categories);
                         Console.WriteLine("Body: {0}", item.Body);
                         Console.WriteLine("HTMLBody: {0}", item.HTMLBody); 
                    }
               } 
               catch (System.Runtime.InteropServices.COMException ex) 
               {
                    Console.WriteLine(ex.ToString());
               }
               finally
               {
                    ns = null;
                    app = null;
                    inboxFolder = null;
               }
          }
     }
}

我如何解析ms outlook 2003电子邮件正文的字符串,即关键字'error'

这个怎么样:

 for(int i=1;i<=subFolder.Items.Count;i++)
{
    item = (Microsoft.Office.Interop.Outlook.MailItem)subFolder.Items[i];
    if(item.Body.Contains("errors"))
        {
            Console.WriteLine("Item: {0}", i.ToString());
            Console.WriteLine("Subject: {0}", item.Subject); 
            Console.WriteLine("Sent: {0} {1}",  
            item.SentOn.ToLongDateString(), item.SentOn.ToLongTimeString());
            Console.WriteLine("Categories: {0}", item.Categories);
            Console.WriteLine("Body: {0}", item.Body);
            Console.WriteLine("HTMLBody: {0}", item.HTMLBody); 
        }
}