阅读Outlook Addin VSTO上的邮件正文内容

时间:2018-05-11 11:43:59

标签: c# vsto outlook-addin

我正在使用VSTO开发一个Outlook加载项,用于在编写时检查邮件内容的拼写。 在回复邮件中,如何通过排除旧对话来仅检查回复内容? 这就是我现在正在做的。但我需要知道是否有任何适当的对象或方法来获取当前的回复内容。

Outlook.MailItem mailItem = inspector.CurrentItem as Outlook.MailItem;
                string temp = mailItem.Body;
                int target= temp.IndexOf("\r\nFrom:");
                string contentToCheck= temp.Substring(0, target);

FYI

2 个答案:

答案 0 :(得分:1)

没有内置属性表示新邮件的结束和正文中的回复开始。

可以做的是存储标记新消息结束的常用文本,并在读取正文时检查该消息。类似于'来自:','问候,' '谢谢,' ...

类似于:

while ((line = bodytext.ReadLine()) != null)
{
    foreach(string ending in MYLISTOFCOMMONENDINGS)
                     {
                         if (line.StartsWith(ending))
                             return sb.ToString();  //we are done
//here sb is a string builder consuming new lines
                     }
        //read the line and check spelling
} 

答案 1 :(得分:0)

查找名为" _MailOriginal"的书签。下面的脚本在原始消息开始之前插入文本:

set objDoc = Application.ActiveInspector.WordEditor
If objDoc.Bookmarks.Exists("_MailOriginal") Then
  ' is there the original email? (_MailOriginal)
  set objBkm = objDoc.Bookmarks("_MailOriginal")
  Set objSel = objDoc.Application.Selection
  objSel.Start = objBkm.Start-2 'give room for the line break before. It includes the line
  objSel.End = objSel.Start
  objSel.Text = "test"
End If