MailItem.Reply()不回复内联

时间:2013-03-18 00:19:59

标签: c# outlook

我希望能够在我的程序中回复内联电子邮件,但是调用回复功能似乎只为我填写了To:和Subject:字段。我似乎无法在网上找到任何关于它的内容,并且它似乎没有过载启用内联回复。

我发现每个MailItem都有一个对话,所以我想知道我是否必须手动进行内联回复? (我真的想避免这种情况,通过对话进行迭代将是一种痛苦,我们中的一些可能会长达数百封电子邮件。)

2 个答案:

答案 0 :(得分:0)

我发现这段代码有助于实现这一目标;

Document oldDoc = itemToReplyTo.GetInspector.WordEditor;
Document newDoc = newMailItem.GetInspector.WordEditor;

if (oldDoc != null)
{
    Microsoft.Office.Interop.Word.Selection oldSelect = oldDoc.Windows[1].Selection;
    Microsoft.Office.Interop.Word.Selection newSelect = newDoc.Windows[1].Selection;

    oldSelect.Find.Execute("From:");
    oldSelect.Collapse(WdCollapseDirection.wdCollapseStart);
    oldSelect.MoveEnd(WdUnits.wdStory, 1);
    oldSelect.Copy();

    newSelect.Move(WdUnits.wdStory, 1);
    newSelect.InlineShapes.AddHorizontalLineStandard();
    newSelect.Paste();
    newSelect.Move(WdUnits.wdStory, -1);
    newSelect.InsertAfter("Reply Text here");
    newSelect.Find.ClearFormatting();
    newSelect.Find.Execute(mailItem.SenderEmailAddress);
}

答案 1 :(得分:0)

我尝试了以下内容,它使用Outlook 2010为我工作。

                        Outlook.MailItem reply1 = mailItem.Reply();                           
                        //prepend text to email
                        reply1.HTMLBody = "<html><body><strong>Test Body</strong><p><p></body></html>" + reply1.HTMLBody;
                        reply1.Display(false); //display message or .Send() to send