Outlook 2019 AddIn问题:修改回复HTMLBody影响原邮件而非回复件
问题描述
我需要在回复、全部回复及转发邮件时修改正文,让邮件编辑器直接加载修改后的内容,因此SendEvent方案不可行。但当前在回复事件中修改HTMLBody会立即且永久地影响原邮件,修改内容在其他Outlook实例中也会即时显示,而编辑器(内嵌及窗口模式)首次编辑时不显示该修改。
我检查过“response对象”的主题已带有“RE:”前缀,确认确实是回复邮件本身,但不清楚如何仅修改回复部分的内容。
我也考虑过使用回复邮件的inspector,但不知道如何通过HTML编辑器进行修改;Word编辑器感觉过于复杂,因此未尝试。
简化代码
using System; using Outlook = Microsoft.Office.Interop.Outlook; using System.Windows.Forms; namespace OutlookAddInTEST { public partial class ThisAddIn { private Outlook.Application _application = null; private void ThisAddIn_Startup(object sender, System.EventArgs e) { _application = Globals.ThisAddIn.Application; _application.ItemLoad += new Outlook.ApplicationEvents_11_ItemLoadEventHandler(_application_ItemLoad); } private void ThisAddIn_Reply(object response, ref bool cancel) { Outlook.MailItem mitem = (Outlook.MailItem)response; mitem.HTMLBody = mitem.HTMLBody.Replace("</body>", "# TEST # </body>"); } Outlook.ItemEvents_10_Event _item; private void _application_ItemLoad(object Item) { _item = (Outlook.ItemEvents_10_Event)Item; _item.Reply += new Outlook.ItemEvents_10_ReplyEventHandler(ThisAddIn_Reply); } } }
内容的提问来源于stack exchange,提问作者Jonny
相关产品推荐
相关产品推荐

